第三天:流程控制语句

流程控制语句

1. 顺序结构

实例

public class Demo01Sequence {
    public static void main(String[] args) {
        // 顺序结构
        System.out.println("今天气不错"); // 今天气不错
        System.out.println("挺风和日丽"); // 挺风和日丽
        System.out.println("今天上午没课"); // 今天上午没课
        System.out.println("一起出去玩"); // 一起出去玩
    }
}

2. 判断语句

  1. 单 if 语句

    public class Demo02If {
        public static void main(String[] args) {
            System.out.println("今天天气不错,正在压马路。。。突然发现一个快乐的地方:网吧");
            int age = 16;
            if(age >= 18){
                System.out.println("进入网吧,开始high");
                System.out.println("遇到一群猪队友,开始骂街");
                System.out.println("感觉不爽,结账走人");
            }
            System.out.println("回家吃饭");
        }
        
        /*
            结果:
                今天天气不错,正在压马路。。。突然发现一个快乐的地方:网吧
                回家吃饭
        * */
    }
    
  1. 标准的 if-else 语句

    public class Demo03IfElse {
        public static void main(String[] args) {
            int num = 13;
    
            if (num%2 == 0){ // 如果除以2余数为0,说是偶数
                System.out.println("偶数");
            }else {
                System.out.println("奇数");
            }
        }
        
        /*
            结果:
                奇数
        * */
    }
    
  1. 多分支 if..else if...else

    public class Demo04IfElseExt {
        public static void main(String[] args) {
            int x = 10;
            int y;
            if (x >= 3) {
                y = 2 * x + 1;
            } else if (x > -1 && x < 3) {
                y = 2 * x;
            } else {
                y = 2 * x - 1;
            }
            System.out.println("结果是:" + y);
        }
        
        /*
            结果:
                结果是:21
        * */
    }
    

3. 选择语句

  1. switch
  2. 格式
switch(表达式) {
case 常量值1: 语句体1;
  break;
case 常量值2: 语句体2;
  break;
...
default: 语句体n+1;
  break;
}

实例

public class demo07Switch {
    public static void main(String[] args) {
        int num = 10;

        switch (num) {
            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. 注意事项
    1. 多个case语句后面的数值不可以重复
    2. switch后面小括号当中只能是下列数据类型
      • 基本数据类型:byte、short、char、int
      • 引用数据类型:String字符串、enum枚举
    3. switch语句格式可以很灵活,前后顺序可以影响,
    4. break语句可以省略,匹配哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止

实例

public class Demo08SwitchNotice {
    public static void main(String[] args) {
        int num = 1;
        switch (num = 1) {
            case 2:
                System.out.println("bbb");
                break;
            case 1:
                System.out.println("aaa");
//                break;
            case 3:
                System.out.println("ddd");
                break;
            default:
                System.out.println("ccc");
                break;
        }
    }
    
    /*
        结果:
            aaa
            ddd
    * */
}

4. 循环语句

  1. for

    1. 格式

       for(初始化表达式①; 布尔表达式②; 步进表达式④){
            循环体③
       }
      
    2. 循环结构的基本组成部分,一般可以分为四部分

      • 初始化语句:再循环开始最初执行,而且只做唯一一次
      • 条件判断:如果成立,则循环继续,如果不成立,则循环退出
      • 循环体:重复要做的事情内容,若干行语句
      • 步进语句,每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次

    实例

    public class Demo09For {
        public static void main(String[] args) {
            System.out.println("我错了!");
    
            // 格式
            for (int i = 0; i < 5; i++) {
                System.out.println("我错了!" + i);
            }
            System.out.println("程序停止");
        }
    
        /*
            结果:
                我错了!
                我错了!0
                我错了!1
                我错了!2
                我错了!3
                我错了!4
                程序停止
        * */
    }
    
  2. while

    1. while循环有两个标准格式,还有一个扩展格式

    2. 标准格式

      标准格式:
      while(条件判断){
        循环体
      }
      
    3. 扩展格式

       初始化语句;
       while(条件判断){
         循环体;
         步进语句
       }
      

    实例

    public class Demo10While {
        public static void main(String[] args) {
            for (int i = 0; i <= 3; i++){
                System.out.println("我错了" + i);
            }
            System.out.println("===========");
    
            int i = 0; // 1、初始化语句
            while (i <= 3){ // 2、条件判断
                System.out.println("我错了" + i); // 循环体
                i++; // 步进语句
            }
        }
    
        /*
            结果:
                我错了0
                我错了1
                我错了2
                我错了3
                ===========
                我错了0
                我错了1
                我错了2
                我错了3
        * */
    }
    
  3. do-while

    1. do-while循环的标准格式

    2. 标准格式

       * do{
       *   循环体;
       * }while(条件判断);
      
    3. 扩展格式

      初始化语句
      do{
          循环语句
          步进语句
      }while(条件判断);
      

    实例

    public class Demo11DoWhile {
        public static void main(String[] args) {
            for (int i = 0; i <= 3; i++) {
                System.out.println("原谅你了!起来吧!地上怪凉" + i);
            }
            System.out.println("==============");
    
            int i = 0; // 1、初始化语句
            do {
                System.out.println("原谅你了!起来吧!地上怪凉" + i);  // 3、循环体
                i++; // 4、步进语句
            } while (i <= 3); // 2、条件判断
        }
        
        /*
            结果:
                原谅你了!起来吧!地上怪凉0
                原谅你了!起来吧!地上怪凉1
                原谅你了!起来吧!地上怪凉2
                原谅你了!起来吧!地上怪凉3
                ==============
                原谅你了!起来吧!地上怪凉0
                原谅你了!起来吧!地上怪凉1
                原谅你了!起来吧!地上怪凉2
                原谅你了!起来吧!地上怪凉3
        * */
    }
    

5. 三种循环的区别

  1. 如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次
  2. for循环的变量在小括号当中定义,只有循环内部才能使用,while循环和do-while循环初始化语句本来就是在外面,所以出来之后可以继续使用

实例

public class Demo13LoopDifference {
    public static void main(String[] args) {
     for (int i =1; i < 3;i++){
         System.out.println("hello");
     }
//        System.out.println(i);
        System.out.println("=============");

     int i = 1;
     do {
         System.out.println("world");
         i++;
     }while (i<0);
        System.out.println(i);

    }
    
    /*
        结果:       
            hello
            hello
            =============
            world
            2
    * */
}

6. break

  1. 可以用在switch语句中,一旦执行,整个switch与立刻执行
  2. 还可以在循环语句当中,一旦执行,整个循环语句立刻就结束,打断循环
  3. 关于循环的选择,一个小建议
    • 凡是次数确定的场景多用for循环,否则用while循环

实例

public class Demo14Break {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
//            如果希望从第4次开始,后续全都不要了,就要打断循环
            if (i == 4) {
                break;
            }
            System.out.println("hello" + i);
        }
    }
    
    /*
        结果:
            hello1
            hello2
            hello3
    * */
}

7.contionue

  • 一旦执行,立刻跳过当前次循环内容,马上开启下一次循环

实例

public class Demo15Contionue {
    public static void main(String[] args) {
        for (int i = 1; i <= 3; i++){
            if (i==2){
                continue; // 跳过当前次循环,马上开始下一次
            }
            System.out.println(i + "层到了");
        }
    }

    /*
        结果:
            1层到了
            3层到了
    * */
}
posted @ 2020-10-13 16:27  因帅被判十年  阅读(116)  评论(0)    收藏  举报