Java_2.流程控制

1. 条件执行

1.1 if

if(布尔表达式1){
    代码块1
}else if(布尔表达式2){// 可缺省
    代码块2
}else{// 可缺省
    代码块
}

布尔表达式,可以是比较运算或关系运算的结果,也可以是布尔变量或布尔值。
当布尔表达式为true时,执行其后的代码块,false则继续相下执行,知道遇到else(如果缺省else,则不执行任何语句)。

注意事项

  1. if后如果只有一条语句,是可以省略大括号的,但是强烈不建议这样做
  2. 多条件执行时,程序会从上到下依次判断布尔表达式的值,直到遇到true或者执行到else块,所以条件的范围应该从小到大

1.2 switch

当处理有很多条件分支的时候,switch语句可能时一个好的选择。

switch(表达式){
    case 值1:
        代码1;
        break;// 可缺省,缺省的情况下,执行完代码1,会继续相下执行代码2。
    case 值2:
        代码2;
        break;
    ...
    case 值n:
        代码n;
        break;
    default:// 可缺省,当表达式没有匹配到值时,执行default下的语句。
        代码n+1;
}

注意事项

  1. 表达式值的类型只能是:byte、short、int、char、Enum、String
  2. 程序会先找到表达式匹配的值,然后执行其后的代码,执行到break;时,会跳出switch语句。
  3. 当break缺省时,代码会继续向下执行,直到break或执行完default语句。
// 运用这个规则,我们可以做一些是事情,比如当多种情况需要执行相同的语句时。
switch(表达式){
    case 'a':
    case 'b':
    case 'c':
        System.out.println("print a-c");
        break;
    case 'd':
        System.out.println("print d");
        break;
    default:
        System.out.println("print default");
}
  1. 编程时可以开启IDE的提示功能,当缺省break或default时,会提醒你。

2. 循环

2.1 while

while(条件语句){
    循环体
}

注意事项

  1. while循环可能执行0到n次,只要条件语句为true就会执行循环体的代码。
  2. 当循环体中只有一行代码时,可以省略大括号,强烈不建议省略大括号

2.2 do...while

do{
    循环体
}while(条件语句)

注意事项

  1. do...while循环执行1到n次,至少会执行一次。
  2. 注意条件语句的边界值。

2.3 for

for(初始化语句; 条件语句; 步进操作){
    循环体
}

while和do...while语句适合不清楚循环次数的情况。
for循环适合清楚循环次数的情况。

注意事项

  1. for循环的执行顺序是,初始化语句->条件语句->(true)循环体->进步操作->条件语句...直到条件语句(false)跳出。
  2. 初始化语句、条件语句和步进操作都是可以缺省的。
for(;;){
    这是一个死循环
}

2.4 foreach

for(元素类型 变量名: 遍历对象){
    循环体
}

foreach适用于不需要使用索引变量的遍历。

注意事项

  1. foreach保证会遍历集合中的所有元素,但是不保证遍历的顺序。
  2. foreach无法获取到索引变量。
  3. 底层使用Iterator来实现遍历。

2.5 循环控制

2.5.1 break

while(true){
    if(条件语句){
        break;
    }
}

注意事项

  1. break会跳出当前的循环(如果多层循环嵌套则跳出break所在的循环)。
  2. 通常与条件判断语句一起使用。

2.5.2 continue

continue也可以用来控制循环,不过不会跳出循环,而是进入下一次循环。

猜你喜欢

转载自www.cnblogs.com/keathBlog/p/12790782.html