(二)Java控制执行流程

一、块作用域

由一对花括号括起来的若干条简单的Java语句构成一个基本的块作用域,一个块中也可以存在一个内部的块。

 

 

二、条件判断

 

1、if 判断

(1)、if ( boolean-exp ) { statement }

boolean-exp为true执行这个块中的statement,否则不执行,直接跳过。

(2)、if ( boolean-exp ) { statement1 } else { statement2 }

boolean-exp为true执行 statement1语句块,否则执行 statement2语句块。

(3)、if ( boolean-exp1 ) { statement1 } else if ( boolean-exp2 ) { statement2 }... else if( boolean-exp-n ) { statement-n } else { statement-final }

boolean-exp1为true执行statement1语句块,跳过后面的条件判断和语句块; 若boolean-exp1为false,boolean-exp2为true执行statement2语句块,跳过后面的条件判断和语句块;以此类推。如果所有的if后的布尔表达式都为false,则执行最后的statement-final语句块,没有else语句块则不执行任何语句。

 

2、多重选择 switch 语句

switch( 表达式 ){case 表达式1:语句1;case表达式2:语句2;...;case表达式n:语句n;default:语句n+1;}

表达式与表达式n匹配时,执行表达式n,和所有的case后面的表达式都不匹配时,执行default后的默认语句。默认每个case的表达式都判断一次是否匹配。可以在表达式对应语句后面使用break;执行到break语句可以跳出这个switch结构,不再执行这个switch结构中break后面的语句。

 

三、循环迭代

 

1、while 循环:while ( boolean-exp ) { statement }

先判断布尔表达式是否为true,如果为true,执行statement语句并进入下一次循环,否则退出这个循环体。每次循环先判断布尔表达式的值,布尔表达式为true后再执行statement语句。

 

2、do while 循环:do { statement } while (boolean-exp)

先执行statement语句块,再判断布尔表达式是否为true,如果为true,并进入下一次循环,否则退出这个循环体。每次循环先执行statement语句块,再判断布尔表达式的值。

 

3、for 循环: for (初始化语句;布尔表达式;步进语句) { statement }

初始化语句先执行(这个初始化语句只会执行一次;后面的循环迭代中不再初始化),再判断布尔表达式是否为true,为true则执行statement循环体和步进语句并进入下一次循环,为false时退出循环。

 

4、forecah循环:for(变量类型  变量 : 变量元素集合) { statement }

将集合中的每一个元素依次 赋值给变量 并执行一次statement语句块。  

 

5、循环跳出中断语句

(1)、break:跳出break这层循环块,不执行循环后面语句,终止循环。

(2)、continue:跳出本次循环,不再执行循环体后面的语句,(for循环迭代先执行步进语句)进行下一轮循环判断。

(3)、break标签和continue标签: 

break标签:标签只能用在   break + 标签名  所在的循环块或所在的循环块的外部循环块之前。 如  label: for () { break label; }  或者  label:  for (){  for () {  break label;} }

执行  break label;直接中断循环并跳出到  label:不再执行lael后的循环体,终止了循环。主要用来中断多层嵌套循环,而break语句只能中断break语句所在的这层循环体的循环迭代。

代码示例与输出结果:

 public static void main(String[] args) {
       label:
       for(int i=1;i<5;i=i+1){
           for(int j=1;j<5;j++) {
               System.out.println("正在执行外层循环第 "+i+" 次迭代" + "  内层循环第 "+j+" 次迭代");
               break label;
           }
       }
    }
View Code

 

 

continue标签:标签只能用在  continue+ 标签名  所在的循环块或所在的循环块的外部循环块之前。 如  label: for () { continue lebel; }  或者  label:  for (){  for () {  continue lebel;} }

执行  continue label;直接中断循环并跳出到  "label:"  并对  "label:"  下面的循环体直接进行下一次迭代。主要用来退出内层循环,并直接对外层循环进行迭代。 而continue语句只能退出continue语句所在的这层循环体,对这层循环体进行下一次迭代。

代码示例与输出结果:

1  public static void main(String[] args) {
2        label:
3        for(int i=1;i<5;i=i+1){
4            for(int j=1;j<5;j++) {
5                System.out.println("正在执行外层循环第 "+i+" 次迭代" + "  内层循环第 "+j+" 次迭代");
6                continue label;
7            }
8        }
9     }
View Code

 

posted @ 2021-03-02 13:25  初袋霸王龙  阅读(76)  评论(0编辑  收藏  举报