美文网首页
JAVA编程思想--第4章 控制执行流程

JAVA编程思想--第4章 控制执行流程

作者: vernwang | 来源:发表于2017-10-18 17:28 被阅读0次

    Java在流程控制语句中,涉及到的关键字 if-else\while\do-while\for\return\break以及选择语句switch.

    4.1 true和false

    所有条件语句都利用条件表达式的真或假来决定执行路径。也就是说条件表达式的值最后为布尔类型,而布尔类型无法由基本类型转换,故一些错误能够避免,这些错误在第三章介绍了,如while(a) ,a为int类型,会报错。

    4.2 if-else

    基本形式: if(Boolean-expression)。条件表达式最后值为布尔类型。

    4.3 迭代

    while\do-while\for用来控制循环,也叫她们为迭代语句(iteration statement).

    while(Boolean-expression) statement

    do
    statement
    while(Boolean-expression)

    for(initialization;Boolean-expression:step)
    statement

    注意,在initialization中的变量定义后,他的作用范围只限制于for循环中。

    4.3.3 逗号操作符

    JAVA里唯一用到逗号操作符的地方就是for 循环的控制表达式。它可以在for语句内定义多个变量,变量必须有相同的类型。

    图片.png

    4.4 Foreach语法

    图片.png

    任何一个数组都可以使用foreach。

    图片.png

    foreach语法不仅在录入代码时可以节省时间,并且阅读起来更容易得多。它说明你在做什么(获取数组中的一个元素),而不是给出你正在做的细节(建立索引)。

    4.5 return

    JAVA中有多个关键词表示无条件分支,只是表示这个分支无需任何测试即可发生。 如:return\break\continue.

    return的话,注意,确保每一条代码路径都有返回一个值。

    4.6 break 和continue

    break用于强行退出循环,不执行循环中的剩余语句。而continue则停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。

    4.7 goto

    goto起源于汇编语言的程序控制:“若条件A成立,则跳到这里,否则跳到那里”。

    java中没有goto。然而java也能提供类似于跳转的操作,其实是中断迭代语句的一种方法----标签。

    格式——— label1:

    标签唯一作用的地方刚好是在迭代语句之前,即在标签和迭代语句之前无任何语句。当标签和break一起使用时,就能够跳出最里层循环。非常方便。

    看一段代码

    label1:
    outer-iteration{
      inner-iteration{
        //...
        break;  //1
        //...
        continue;//2
        //...
        continue label1; //3
        //...
        break label1;//4
      }
    }
    

    1:break中断内部迭代,执行外部迭代剩下部分。
    2:停止余下的内容,返回内部迭代起始处继续。
    3:中断内部迭代以及外部迭代,直接转到label1处,继续执行外部迭代。
    4:中断内部迭代以及外部迭代,直接转到label1处,不进入迭代。

    例子:

    int i=0;
            outer:
            for(;true;){
                inner:
                for(;i<10;i++){
                    System.out.println("i ="+i);
                    if(i==2){
                        System.out.println("continue");
                        continue;
                    }
                    if(i==3){
                        System.out.println("break");
                        i++;
                        break;
                    }
    
                    if(i==7){
                        System.out.println("continue outer");
                        i++;
                        continue outer;
                    }
                    if(i==8){
                        System.out.println("break outer");
                        break outer;
                    }
    
                    for(int k=0;k<5;k++){
                        if(k==3){
                            System.out.println("continue inner");
                            continue inner;
                        }
                    }
    
                }
            }
    

    continue在for循环中,返回到起始处,注意会进行累加运算,而break 不会。

    4.8 switch

    是一种选择语句,会根据整数表达式的值,去寻找。

    switch(integral-selector){
       case intergral-value1:statement;break;
       case intergral-value1:statement;break;
       default:statement;
     }
    
    • Integral-selector(整数选择因子)是一个能产生整数值的表达式。
    • 这里使用break能够让其跳出循环,不然会继续执行下面的statement.
    • 注意选择因子必须是int或char那样的整数值。

    相关文章

      网友评论

          本文标题:JAVA编程思想--第4章 控制执行流程

          本文链接:https://www.haomeiwen.com/subject/vhbluxtx.html