学习打卡03-流程控制

前言:程序中最经典的三种执行顺序

  1. 顺序结构: 自上而下的执行代码
  2. 分支结构 : 根据条件,选择对应的代码执行 if switch
  3. 循环结构: 控制某段代码重复执行 for while do….while

一, 分支结构

1, if

形式1:
if (条件表达式) {
代码;
}

形式2:

if (条件表达式) {
代码1;
} else {
代码2;
}

形式3:

if (条件表达式1) {

代码1;

} else if (条件表达式2) {

代码2;

} else if (条件表达式3) {

代码3;

}

. . .

else {

代码n;

}

// if语句的{}中只有一行代码的情况,{}可以省略不写: 即
if(布尔表达式)
	代码;
	

2, switch

switch(表达式){
case 值1:
执行代码...;
break;
case 值2:
执行代码...;
break;

case 值n-1:
执行代码...;
break;
default:
执行代码n;
}

switch分支的执行流程

①先执行表达式的值,再拿着这个值去与case后的值进行匹配。

②与哪个case后的值匹配为true就执行哪个case块的代码,遇到break就跳出switch分支。

③如果全部case后的值与之匹配都是false,则执行default块的代码。

🚩 switch的注意事项:

①表达式类型只能是byteshortintchar,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。
即五种常见的类型: byte , short , int , char , String

②case给出的值不允许重复,且只能是字面量/常量,不能是变量。

③正常使用switch的时候,不要忘记写break,否则会出现穿透现象示例如下:

    // 利用穿透,来实现当输入一二三月,输出春季,四五六月为夏季
	public static void main(String[] args) {
        String str = "二月";
        switch (str) {
            case "一月":
            case "二月":
            case "三月":
                System.out.println("春季");
                break;
            case "四月":
            case "五月":
            case "六月":
                System.out.println("夏季");
            default:
                System.out.println("输入有误~");
        }

总结: 分支结构中什么时候用 if ,什么时候用 switch

// 1: if在功能上远远强大于switch。
// 2: 当前条件是区间的时候,应该使用if分支结构。
// 3: 当条件是与一个一个的值比较的时候,switch分支更合适:格式良好,性能较好,代码优雅。

二,循环结构

1,for循环

for (初始化语句; 循环条件; 迭代语句) {
循环体语句(重复执行的代码);
}

执行的顺序为:

  1. 执行初始化语句

  2. 判断循环条件

  3. 执行循环体语句

  4. 执行迭代语句

    。。。。

    循环执行2,3,4 直到循环条件为false

这里的执行循环条件会比其他的地方多执行一遍,即为false的那一遍

2,while循环

初始化语句;
while (循环条件) {
循环体语句(被重复执行的代码);
迭代语句;
}

示例代码:

int i = 0;
while (i < 3) {
    System.out.println("Hello World");
    i++;
}

3,do-while循环 先执行后判断

初始化语句;

do {

		 **循环体语句;**

		**迭代语句;**

} while (循环条件);

示例代码:

int i = 0;
do {
    System.out.println("Hello World!");
    i++;
} while( i < 3);

三种循环的区别:

  • for循环 和 while循环(先判断后执行); do...while (先执行后判断)

  • for循环和while循环的执行流程是一模一样的,功能上无区别,for能做的while也能做,反之亦然。

  • 使用规范:如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议使用while循环

  • 其他区别:for循环中,控制循环的变量只在循环中使用。while循环中,控制循环的变量在循环后还可以继续使用。

4,死循环 ——- 当想让其一直运行处理时使用

三种形式: 推荐2

(1)
for ( ; ; ) {
    System.out.println("Hello World1");
}
(2)
// 经典写法
while (true) {
    System.out.println("Hello World2");
}
(3)
do {
    System.out.println("Hello World3");
} while (true);

5,循环嵌套

两个或多个循环结构嵌套使用 如下:

    for (int i = 1; i <= 5; i++) {
        for (int j = 0; j < 7; j++) {
            System.out.print("*");
        }
        System.out.println();
    }
//  结果
        *******
        *******
        *******
        *******
        *******

三,跳转关键字

break : 跳出并结束当前所在循环的执行。

continue: 用于跳出当前循环的当次执行,直接进入循环的下一次执行。

使用场景:

break : 只能用于结束所在循环, 或者结束所在switch分支的执行。

continue : 只能在循环中进行使用。

posted @ 2023-02-11 20:45  yfs1024  阅读(36)  评论(0)    收藏  举报