目录
- 程序流程控制
- 顺序结构
- 分支结构
- if分支语句
 
- 案例:
- switch分支
 
- 案例:
- 循环结构
- for循环
- while循环
- do-while循环
 
- 跳转控制语句
 
程序流程控制

顺序结构
没什么好说的就是:程序默认执行流程(如下)
public class Test {
    public static void main(String[] args) {
        System.out.println("A");
        System.out.println("B");
        System.out.println("C");
    }
}
分支结构
分支语句,它通过对给定的条件进行判断,从而决定执行两个或多个分支中的哪一支。因此,在编写选择语句之前,应该首先明确判断条件是什么,并确定当判断结果为“真”或“假”时应分别执行什么样的操作/算法。在 Java 语言中选择语句主要提供了两个,一个是 if 语句,另一个则是 switch 语句。
if分支语句
根据判定的结果(真或假)决定执行某个分支的代码
If分支有三种格式
格式1:
if (条件表达式) {
    语句体;	
}
执行流程
- 首先判断条件表达式的结果,如果为true执行语句体,为 false 就不执行语句体。
注意:
- if 语句中,如果大括号控制的只有一行代码,则大括号可以省略不写。
  
格式2:
if (条件表达式) {
    语句体1;	
} else {
语句体2;	
}
执行流程:
- 首先判断条件表达式的结果,如果为true执行语句体1,为 false 就执行语句体2。

格式3:
if (条件表达式1) {
    语句体1;	
} else if (条件表达式2) {
    语句体2;	
} else if (条件表达式3) {
    语句体3;	
} 
. . .
else {
    语句体n+1;
}
执行流程:
- 先判断条件1的值,如果为true则执行语句体1,分支结束;如果为false则判断条件2的值
- 如果值为true就执行语句体2,分支结束;如果为false则判断条件3的值
- …
- 如果没有任何条件为true,就执行else分支的语句体n+1。
  
案例:
需求:键盘接收一个学生的成绩,范围在[0-100],根据成绩判断等级,[90-100]等级为“优秀”,[80-90)等级为“良好”,[70-80)等级为“中等”,[60-70)等级为“及格”,[0-60)等级为“不及格”,输入其它数字表示成绩不合法。
        Scanner scan = new java.util.Scanner(System.in);
        System.out.print("输入考试成绩:");
        int score = scan.nextInt();
        String grade = "不及格";
            if(score < 0 || score > 100){
                grade = "对不起,您输入的成绩不合法!";
            }else if(score >= 90){
                grade = "优秀";
            }else if(score >= 80){
                grade = "良好";
            }else if(score >= 70){
                grade = "中等";
            }else if(score >= 60){
                grade = "及格";
            }
            System.out.println("成绩等级:" + grade);
switch分支
匹配条件去执行分支, 适合做值匹配的分支选择,结构清晰,格式良好
switch(表达式){
    case 值1:
        执行代码...;
        break;
    case 值2:
        执行代码...;
        break;
    … 
        case 值n-1:
        执行代码...;
        break;
    default:
        执行代码n;
}
执行流程:
- 先执行表达式的值,拿着这个值去与case后的值进行匹配。
- 匹配哪个case的值为true就执行哪个case,遇到break就跳出switch分支。
- 如果case后的值都不匹配则执行default代码。
注:
-  if其实在功能上远远强大于switch。 
-  if适合做区间匹配。 
-  switch适合做:值匹配的分支选择、代码优雅。 
-  表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。 
-  case给出的值不允许重复,且只能是字面量,不能是变量。 
-  不要忘记写break,否则会出现穿透现象。 
  
案例:
需求:键盘接收一个学生的成绩,范围在[0-100],根据成绩判断等级,[90-100]等级为“优秀”,[80-90)等级为“良好”,[70-80)等级为“中等”,[60-70)等级为“及格”,[0-60)等级为“不及格”,输入其它数字表示成绩不合法。
 Scanner scan = new Scanner(System.in);
        System.out.print("请输入考试成绩[0-100]:");
        double score = scan.nextDouble();
        String grade = "不及格";
        switch((int)(score / 10)){
            case 10: case 9:
                grade = "优秀";
                break;
            case 8:
                grade = "良好";
                break;
            case 7:
                grade = "中等";
                break;
            case 6:
                grade = "及格";
                break;
        }
        System.out.println("成绩等级为:" + grade);
循环结构
for循环
- 控制一段代码反复执行很多次。
格式:
for (初始化语句; 循环条件; 迭代语句)  {
  循环体语句(重复执行的代码);
}
// 输出3次HelloWorld
for (int i = 0; i < 3; i++) {
    System.out.println("Hello World");
}
执行的流程:
- 循环一开始,执行int i = 0 一次。
- 然后判断循环条件:0 < 3 返回true ,进入到循环体中执行输出 :helloWorld ,然后执行迭代语句i++ , 此时i=1了。
- 然后判断循环条件:1 < 3 返回true ,进入到循环体中执行输出 :helloWorld ,然后执行迭代语句i++ , 此时i=2了。
- 然后判断循环条件:2 < 3 返回true ,进入到循环体中执行输出 :helloWorld, 然后执行迭代语句i++ , 此时i=3了。
- 然后判断循环条件:3 < 3 返回false, 循环立即结束!!

while循环
格式
初始化语句;
while (循环条件) {    循环体语句(被重复执行的代码);
    迭代语句;
}
int i = 0;
while (i < 3) {
    System.out.println("Hello World");
    i++;
}

do-while循环
- 先执行再判断循环条件。
初始化语句;
do {
    循环体语句;
    迭代语句;
} while (循环条件);
int i = 0;
do {
    System.out.println(“Hello World!");
     i++;
} while( i < 3);
do-while循环的特点:一定会先执行一次循环体。
 
跳转控制语句
- break : 跳出并结束当前所在循环的执行。
- continue: 用于跳出当前循环的当次执行,进入下一次循环。
注:
break : 只能用于结束所在循环, 或者结束所在switch分支的执行。
continue : 只能在循环中进行使用。

![[K8S]Kubernetes环境检测与API简介](https://img-blog.csdnimg.cn/4cc099c49f32422587a0be7d6814521c.png#pic_center)

















