美文网首页
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