流程控制语句分类

顺序: 从上而下顺序执行
分支:根据条件不同,执行不同的语句
循环: 重复执行某些操作

分支语句

单分支

  1. if(boolean){
  2. //只有一条语句,可以省略大括号
  3. }

双分支

  1. if(boolean){
  2. }else{
  3. }

多分支

多重if

  1. //只执行一个分支,其他条件不再判断执行
  2. if(boolean){
  3. }else if(boolean){
  4. }else if(boolean){
  5. }else{
  6. }

switch

  • 每个case都要带 breank; 没有break,会继续往下执行,无论与case的值是否相等,直到遇到break。
  • default可以没有;
  • 表达式可以取的值:byte short int char String enum
  • 表达式的类型 与 case 的常量值类型要相符
  • default不一定要放在最后,可以放在前面或case中间,但是作用不变。
    1. switch(表达式){
    2. case 1: 语句;break;
    3. case 1: 语句;break;
    4. case 1: 语句;break;
    5. default: 语句;break;
    6. }
    break 非常重要
    1. @Test
    2. public void test_9() {
    3. int no =2;
    4. switch (no){
    5. case 1:
    6. System.out.println("a");
    7. case 2:
    8. System.out.println("b");
    9. case 3:
    10. System.out.println("c");
    11. case 4:
    12. System.out.println("d");
    13. case 5:
    14. System.out.println("e");
    15. default:
    16. System.out.println("default");
    17. }
    18. }

    b c d e default

image.png

分支嵌套

各种分支都可以嵌套。

循环结构

循环分类:固定循环次数(for循环) 和 非固定循环次数(while/do-while)

for循环

  1. for(初始语句; 循环条件; 修改循环条件){
  2. }

执行顺序:初始语句 —> 循环条件—>循环体—>修改循环条件—>循环条件—>循环体—>…
注意: 初始语句只执行一次。

while循环

  • 先进行条件判断

    1. while(boolean){
    2. //修改循环条件,防止形成死循环
    3. }

    do while循环

  • 后条件判断,也就是没有条件判断,先执行一次循环体的代码

    1. do{
    2. //修改循环条件,防止形成死循环
    3. }while(boolean);

break 和 countinue

  • break 跳出循环,后面的循环不再执行
  • countinue 跳出当前循环,后面的循环继续执行
  • return可以跳出方法,当然循环也能结束
  • break 和 countinue 只针对当前循环,双重循环的跳出需要用 break 标签名;或 countinue 标签名;

    循环嵌套

    循环之间可以嵌套。

循环标签

  • 用于跳出多层循环,而不是当前循环。
  • break 和 countinue 都可以用循环标签。
    1. 标签名:
    2. for(){
    3. for(){
    4. break 标签名;
    5. }
    6. }