7、流程控制

一、流程控制

流程控制决定程序是如何运行的,主要有三大流程控制语句

  • 顺序控制
  • 分支控制
  • 循环控制

二、顺序控制

程序从上至下依次执行

三、分支控制

1、条件语句

(1)单分支

  • 格式:

    if (条件表达式) {
        执行代码块;
    }
    
  • 功能:如表达式为true,则执行语句

(2)双分支

  • 格式

    if (条件表达式) {
        执行代码块1;
    } else {
        执行代码块2;
    }
    
  • 功能:如表达式为true,则执行代码块1,若为false,则执行代码块2

(3)多分支

  • 格式

    if (条件表达式1) {
        执行代码块1;
    } else if (条件表达式2){
        执行代码块2;
    }
    ...
    } else {
        执行代码块n;
    }
    

    只有一个执行入口,只执行一个代码块

(4)嵌套分支

在一个分支中完整地嵌套了另一完整的分支结构,里面称为内层分支,外层分为外层分支

建议嵌套不要超过3层,可读性差

(5)switch分支

  • 格式

    switch (表达式) {
    	case 常量1:
    		语句块1;
            break;
        case 常量2:
            语句快2;
            break;
        ....
    	case 常量n:
            语句块n;
            break;
        default:
            default语句块;
            break;
    }
    
  • 流程

    1. switch关键字表示switch分支
    2. 表达式对应一个值
    3. 当表达式的值等于常量1,执行语句块1
    4. break表示退出switch
    5. 顺序执行,不等于常量1,匹配常量2
    6. 若无匹配的,则执行default语句
  • 注意事项

    1. 表达式数据类型应和case后的常量一致,或是可以自动转换的数据类型
    2. 表达式的返回值必须是:byte, short, int, char, enum(枚举), String
    3. case子句中的值必须是常量,而不能是变量
    4. default子句是可选的,当没有匹配case时,执行default语句
    5. 顺序执行,执行break则跳出switch

2、循环语句

2.1 for循环

(1)for循环

  • 语法

    for (循环变量初始化; 循环条件; 循环变量的迭代) {
        语句块;
    }
    
  • 功能:重复执行某些代码块

  • 流程:循环变量初始化——》循环条件——》语句块——》循环变量的迭代——》循环条件——》...——》循环迭代——》循环变量的迭代——》结束

  • 注意事项:

    • 循环初始化变量和迭代可以写在其他地方
    • 初始化和迭代可以有多条语句,用逗号隔开

(2)用for来实现无限循环

  • 语法

    for ( ; ; ) {
        if (x < 20)
            break;
        x++;//借助if,实现跳出条件逼近
    }
    

(3)foreach语句

说明:foreach是for语句的特殊简化版,foreach并非关键字,而是for的一种特殊格式,用来遍历

  • 语法

    for (元素变量x: 遍历对象obj) {
        引用了x的语句;
    }
    
    //例子
    int[] arr = {1, 3, 5};
    for (int x: arr) {
        sout("x");//输出1,3,5——遍历
    }
    

2.2 while循环

(1)while循环

  • 语法

    while (循环条件) {
        循环体;
        变量的迭代;
    }
    
  • 功能:重复执行循环体

  • 流程:循环条件——》循环体——》变量迭代——》循环条件——》...——》变量的迭代——》循环条件——》结束

(2)do while 循环

  • 语法

    do {
        循环体;
        迭代;
    } while(循环条件);
    
  • 流程:循环体——》迭代——》循环条件——》循环体——》...——》迭代——》循环条件

2.3 多重循环

建议不超过3层

四、循环控制

1、break语句

  • 功能:当某个条件满足时,终止循环,跳出语句,(就近跳出,只有一层

    • 跳出指定层:break语句出现在多层嵌套的语句中时,可以通过标签指明要终止的层

      label1: {
          label2: {
              label3: {
                  ...;
                  break lable2;//跳出label2
                  ...;
              }
          }
      }
      
    • 注意事项

      1. break可以指定退出至哪一层
      2. label是标签,名字由程序指定
      3. 实际开发尽量不使用
      4. 若break没指定,则跳出最近的循环体

2、continue语句

  • 功能:结束本次循环,进入下一次循环的条件测试部分
  • continue同样支持标签功能

3、return 语句

在方法中使用,表示退出所在方法

posted @ 2021-12-07 22:04  DarkSki  阅读(49)  评论(0编辑  收藏  举报