美文网首页
2020-06-08循环语句和条件语句

2020-06-08循环语句和条件语句

作者: testerPM | 来源:发表于2020-06-08 21:36 被阅读0次

while和do....while循环(也叫控制结构)

概念如下:


image.png

while示例如下:

image.png

do.....while示例如下:


image.png

while和do...while区别:

do....while: 1 .先执行后判断 2. 判断次数和循环次数相等


image.png

while:
1.先判断后执行 2. 判断次数比循环次数加1

image.png

for循环(也叫控制结构)

语法:
for(初始化语句;循环条件;迭代语句){
循环体;
}

示例:

            //输出1到10的数字
        for (int i=1;i<=10;i++){
            System.out.println(i);
        }


极限代入得到-》循环次数和判断次数关系
i=11时
循环次数:0
判断次数:1

if条件语句(也叫选择结构或者分支结构)

第一个场景:if 单独使用
如果a大于b,输出a大,b小

              int  a=1;
        int b=2;
        if(a>b) {
            System.out.println("a大,b小");
        }
        

第二个场景:if和else结合使用
如果a大于b,输出a大,b小
否则输出a小,b大

    int a = 1;
        int b = 2;
        if (a > b) {
            System.out.println("a大,b小");
        } else {
            System.out.println("a小,b大");
        }

第三个场景: 多个if (不过一般不这么写)
如果a大于b,输出a大,b小
如果a小于b, 输出a小,b大

    int a = 1;
        int b = 2;
        if (a > b) {
            System.out.println("a大,b小");
        }
        if (a < b) {
            System.out.println("a小,b大");
        }


第四个场景:if+ else if
如果a大于b,输出a大,b小
否则如果 a小于b, 输出a小,b大

        int a = 1;
        int b = 2;
        if (a > b) {
            System.out.println("a大,b小");
        } else if (a < b) {
            System.out.println("a小,b大");
        }

第五个场景: if+else if +else 结合使用

               int a = 1;
        int b = 2;
        if (a > b) {
            System.out.println("a大,b小");
        } else if (a < b) {
            System.out.println("a小,b大");
        } else if (a == b) {
            System.out.println("a和b相等");
        } else {
            System.out.println("a和b比较失败");
        }

switch: 切换

case:情况,小事情
default: 上面case 都不满足的情况下,默认执行default

语法:

switch (key) {
        case value:
            
            break;

        default:
            break;
        }

代码示例:

int day = 1;
        switch (day) {
        case 1:
            System.out.println("周一");
            break;
        case 2:
            System.out.println("周二");

        case 3:
            System.out.println("周三");
        case 4:
            System.out.println("周四");
        case 5:
            System.out.println("周五");

        case 6:
            System.out.println("周六");
        case 7:
            System.out.println("周日");
        default:
            System.out.println("非法日期");
            break;
        }


上面代码执行结果:
周一

上面代码如果去掉case 1中的break,执行结果如下:

周一
周二
周三
周四
周五
周六
周日
非法日期

为什么去掉了break,执行完case 1,后续的代码也会被执行??答: case 语法决定的(case穿透),case 1 满足条件被执行后,如果没有break,就顺序往下执行,不会再去判断,直到遇到break跳出,后续case 就不会再被执行

case穿透应用场景:

需求: day为1-5是工作日,其余非工作过日

// day为1-5是工作日,其余非工作过日
        int day = 1;
        switch (day) {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            System.out.println("是工作日");
            break;
        case 6:
        case 7:
            System.out.println("是非工作日");
            break;
        default:
            System.out.println("非法日期");
            break;
        }

上面代码执行:(因为没有break,所以会顺序执行,直到遇到break)
是工作日

下面代码虽然也能实现需求,但是代码存在冗余,所以就要用到上面提到的case穿透

// day为1-5是工作日,其余非工作过日
        int day = 1;
        switch (day) {
        case 1:
            System.out.println("是工作日");
            break;
        case 2:
            System.out.println("是工作日");
            break;
        case 3:
            System.out.println("是工作日");
            break;
        case 4:
            System.out.println("是工作日");
            break;
        case 5:
            System.out.println("是工作日");
            break;
        case 6:
            System.out.println("是非工作日");
            break;
        case 7:
            System.out.println("是非工作日");
            break;
        default:
            System.out.println("非法日期");
            break;
        }

选择结构总结:

  1. if一定要有,且为1个(也可以是多个,不过一般不这样写)

  2. 有多少个else if : 有0个或者多个

3.有多少个 else: 只能是0个和或者1个(最多有1个,否则写多个else,程序会报错)

  1. 当同时有2个分支满足条件时,只选择一个分支去执行,后面的分支都不会再执行(类型下高速,当有2个匝道都可以时,只能选择一个匝道,另外一个不会再走)
              int a = 1;
        int b = 2;
        if (a < b) {
            System.out.println("1:a小,b大");
        } else if (a < b) {
            System.out.println("2:a小,b大");
        }

5 . 程序语言中,控制结构分为三种:
1. 顺序控制结构(从上往下顺序执行)
2. 分支控制结构
3. 循环控制结构

相关文章

网友评论

      本文标题:2020-06-08循环语句和条件语句

      本文链接:https://www.haomeiwen.com/subject/wspdtktx.html