前言:流程控制语句

  • 什么是流程控制语句

    • 流程控制语句:可以控制程序的执行流程。

  • 流程控制语句的分类

    • 顺序结构

    • 选择结构

    • 循环结构

  • 执行流程:

    • 从上往下,依次执行。

  • 案例演示

    • 输出几句话看效果即可

    • class Demo1_Sequence {                            //sequence 顺序
          public static void main(String[] args) {
              System.out.println("Hello World!11111");
              System.out.println("Hello World!3333");
              System.out.println("Hello World!22222");
              System.out.println("Hello World!44444");
          }
      }

       

 

 1. 选择结构

1.1 选择结构if语句

  • 选择结构的分类

    • if语句

    • switch语句

  • if语句有几种格式

    • 格式1

      • if (比较表达式) { 语句体; }
      • /*
        * C:if语句的格式1
        * 
                if(比较表达式) {
                    语句体;
                }
        * D:执行流程:
            * 先计算比较表达式的值,看其返回值是true还是false。
            * 如果是true,就执行语句体;
            * 如果是false,就不执行语句体;
        */
        class Demo1_If {
            public static void main(String[] args) {
                int age = 17;
        
                if (age >= 18) {
                    System.out.println("可以浏览本网站");
                }
        
                System.out.println("完了");
            }
        }
        View Code

         

    • 格式2

      • if (比较表达式)  {
        语句体1;
        }else {
        语句体2;
        }

      • /*
        * A:if语句的格式2
        * 
                if(比较表达式) {
                    语句体1;
                }else {
                    语句体2;
                }
        * B:执行流程:
            * 首先计算比较表达式的值,看其返回值是true还是false。
            * 如果是true,就执行语句体1;
            * 如果是false,就执行语句体2;
        * C:案例演示
            * a:获取两个数据中较大的值
            * b:判断一个数据是奇数还是偶数,并输出是奇数还是偶数
        
            * 注意事项:else后面是没有比较表达式的,只有if后面有。
        */
        class Demo3_If {
            public static void main(String[] args) {
                /*int x = 0;
                if (x == 1) {
                    System.out.println("男厕所欢迎您");
                }else {
                    System.out.println("女厕所欢迎您");
                }*/
                
                //a:获取两个数据中较大的值
                /*int x = 10;
                int y = 20;
                int z;
        
                if (x > y) {
                    z = x;
                }else {
                    z = y;
                }
        
                System.out.println(z);*/
                
                //b:判断一个数据是奇数还是偶数,并输出是奇数还是偶数
                int num = 11;
                if (num % 2 == 0) {
                    System.out.println(num + "是一个偶数");
                }else {
                    System.out.println(num + "是一个奇数");
                }
            }
        }
        View Code
    • 格式3

      • if (比较表达式1)  {
        语句体1;
        }else if (比较表达式2)  {
        语句体2;
        }else if  (比较表达式3) {
        语句体3;
        }
        ...
        else {
        语句体n+1;
        }

      • /*
        * A:if语句的格式3:
        * 
                if(比较表达式1) {
                    语句体1;
                }else if(比较表达式2) {
                    语句体2;
                }else if(比较表达式3) {
                    语句体3;
                }
                ...
                else {
                    语句体n+1;
                }
        * B:执行流程:
            * 首先计算比较表达式1看其返回值是true还是false,
            * 如果是true,就执行语句体1,if语句结束。
            * 如果是false,接着计算比较表达式2看其返回值是true还是false,
            
            * 如果是true,就执行语句体2,if语句结束。
            * 如果是false,接着计算比较表达式3看其返回值是true还是false,
            
            * 如果都是false,就执行语句体n+1。
        * C:注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示 
        */
        class Demo5_If {
            public static void main(String[] args) {
                int x = 2;
                if (x == 1) {
                    System.out.println("男厕所欢迎您");
                }else if (x == 0) {
                    System.out.println("女厕所欢迎您");
                }else {
                    System.out.println("无法识别您的性别");
                }
            }
        }
        View Code

         

  • 选择结构if语句注意事项
    • 比较表达式无论简单还是复杂,结果必须是boolean类型
    • if语句控制的语句体如果是一条语句,大括号可以省略;
      • 如果是多条语句,就不能省略。建议永远不要省略。
    • 一般来说:有左大括号就没有分号,有分号就没有左大括号
    • /*
      *    a:比较表达式无论简单还是复杂,结果必须是boolean类型
          * b:if语句控制的语句体如果是一条语句,大括号可以省略;
            * 如果是多条语句,就不能省略。建议永远不要省略。
          * c:一般来说:有左大括号就没有分号,有分号就没有左大括号
      
      */
      class Demo2_If {
          public static void main(String[] args) {
              int age = 17;
      
              if (age >= 18 && age <= 60) {
                  System.out.println("可以浏览本网站");
                  //int x = 10;                是两句话,int x声明是一句,x = 10 赋值是一句
              }
              System.out.println("完了");
              
          }
      }
      View Code

       

  • if语句的格式2和三元的相互转换问题
    • if语句和三元运算符完成同一个效果
      • /*
        * A:案例演示
            * if语句和三元运算符完成同一个效果
        * B:案例演示
            * if语句和三元运算符的区别
            
            * 三元运算符实现的,都可以采用if语句实现。反之不成立。
            
            * 什么时候if语句实现不能用三元改进呢?
                * 当if语句控制的操作是一个输出语句的时候就不能。
                * 为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。
        
        */
        class Demo4_If {
            public static void main(String[] args) {
                int x = 10;
                int y = 20;
                int z;
        
                if (x > y) {
                    //z = x;
                    System.out.println(x + "是最大值");
                }else {
                    //z = y;
                    System.out.println(y + "是最大值");
                }
        
                //System.out.println(z);
        
                int a = 20;
                int b = 30;
        
                int c = (a > b)? a : b;
            }
        }
        View Code 
    • if语句和三元运算符的区别

      • 三元运算符实现的,都可以采用if语句实现。反之不成立。

    • 什么时候if语句实现不能用三元改进呢?

      • 当if语句控制的操作是一个输出语句的时候就不能。

      • 为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

  • 选择结构if语句的嵌套使用
    • /*
      * A:案例演示
          * 需求:获取三个数据中的最大值
          * if语句的嵌套使用。
      */
      class Demo6_IfIf {
          public static void main(String[] args) {
              int a = 40;
              int b = 50;
              int c = 30;
              
              if (a > b) {
                  if (a > c) {
                      System.out.println(a + "是最大值");
                  }else {
                      System.out.println(c + "是最大值");
                  }
      
              }else {    //b >= a
                  if (b > c) {
                      System.out.println(b + "是最大值");
                  }else {
                      System.out.println(c + "是最大值");
                  }
              }
          }
      }
      View Code

       

1.2  选择结构switch语句

  • switch语句的格式

    • switch (表达式)  {                        //基本数据类型可以接收byte,short,char,int
      case 值1:                               //引用数据类型可以接收枚举(JDK1.5),String字符串(JDK1.7)
               语句体1;
          break;
      case 值2
               语句体2;
          break;
           …
      default:
               语句体n+1;
          break; }

  • switch语句的格式解释

  • 面试题

    • byte可以作为switch的表达式吗?

      • 可以。所有计算可以自动补位到int类型的,都可以
    • long可以作为switch的表达式吗?

      • 不可以
    • String可以作为switch的表达式吗?

      • 1.7版本JDK后可以
  • 执行流程

    • 先计算表达式的值

    • 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句

    • class Demo1_Switch {
          public static void main(String[] args) {
              /*
              * A:switch语句的格式
              *        int x = 10;
                      switch(表达式) {        //基本数据类型可以接收byte,short,char,int
                            case 值1:        //引用数据类型可以接收枚举(JDK1.5)String字符串(JDK1.7)
                              语句体1;
                              break;
                              case 值2:
                              语句体2;
                              break;
                              …
                              default:    
                              语句体n+1;
                              break;
                      }
               
              * B:switch语句的格式解释
              * C:面试题
                  * byte可以作为switch的表达式吗?
                  * long可以作为switch的表达式吗?
                  * String可以作为switch的表达式吗?
              * C:执行流程
                  * 先计算表达式的值
                  * 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
              */
      
              String name = "rose";
              String gender = "女";
              switch (gender) {
              case "男士":
                  System.out.println(name + "是一位" + gender + "喜欢吃饭睡觉打dota");
              break;
              case "女士":
                  System.out.println(name + "是一位" + gender + "喜欢逛街购物美容");
              break;
              default:
                  System.out.println(name + "是一位" + gender + "打雌性激素维持美貌容颜");
              break;
              }
          }
      }
      View Code
  • 选择结构switch语句的练习
    • 整数(给定一个值,输出对应星期几)

    • class Test1_Switch {
          public static void main(String[] args) {
              //* A:整数(给定一个值,输出对应星期几)
              int week = 1;
              switch (week) {
              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;
              }
          }
      }
      View Code
  • 选择结构switch语句的注意事项
    • 案例演示

      • case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

      • default可以省略吗?

        • 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

        • 特殊情况:

          • case就可以把值固定。

          • A,B,C,D

      • break可以省略吗?

        • 最后一个可以省略,其他最好不要省略

        • 会出现一个现象:case穿透。

        • 最终我们建议不要省略

      • default一定要在最后吗?

        • 不是,可以在任意位置。但是建议在最后。

      • switch语句的结束条件

        • 遇到break就结束了

        • 执行到switch的右大括号就结束了

  • 选择结构switch语句练习
    • 看程序写结果:

    • class Test2_Switch {
          public static void main(String[] args) {
              // A:看程序写结果:
      
              /*int x = 2;
              int y = 3;
              switch(x){
                  default:
                      y++;
                      break;
                  case 3:
                      y++;
                  case 4:
                      y++;
              }
              System.out.println("y="+y); // 输出4  */
          
          //B:看程序写结果:
              
              int x = 2;
              int y = 3;
              switch(x){
                  default:
                      y++;
                  case 3:
                      y++;
                  case 4:
                      y++; 
              }  
              System.out.println("y="+y); // 输出6
          }
      }
      View Code
      •  省略了break,会出现case穿透现象,导致逻辑出错

  • 选择结构if语句和switch语句的区别
    • 总结switch语句和if语句的各自使用场景

      • switch建议判断固定值的时候用

      • if建议判断区间或范围的时候用

    • 案例演示

      • 分别用switch语句和if语句实现下列需求:

        • 键盘录入月份,输出对应的季节

        • import java.util.Scanner;
          class Test3_SwitchIf {
              public static void main(String[] args) {
                  /*
          
                  * 键盘录入月份,输出对应的季节
                  一年有四季
                  3,4,5春季
                  6,7,8夏季
                  9,10,11秋季
                  12,1,2冬季
                  */
                  Scanner sc = new Scanner(System.in);    //创建键盘录入对象
                  System.out.println("请输入月份");
                  int month = sc.nextInt();                //将键盘录入的结果存储在month
                  /*switch (month) {
                  case 3:
                  case 4:
                  case 5:
                      System.out.println(month + "月是春季");
                  break;
                  case 6:
                  case 7:
                  case 8:
                      System.out.println(month + "月是夏季");
                  break;
                  case 9:
                  case 10:
                  case 11:
                      System.out.println(month + "月是秋季");
                  break;
                  case 12:
                  case 1:
                  case 2:
                      System.out.println(month + "月是冬季");
                  break;
                  default:
                      System.out.println("对不起没有对应的季节");
                  break;
                  }*/
          
                  //用if语句来完成月份对应季节
                  if (month > 12 || month < 1) {
                      System.out.println("对不起没有对应的季节");
                  }else if (month >= 3 && month <= 5) {
                      System.out.println(month + "月是春季");
                  }else if (month >= 6 && month <= 8) {
                      System.out.println(month + "月是夏季");
                  }else if (month >= 9 && month <= 11) {
                      System.out.println(month + "月是秋季");
                  }else {
                      System.out.println(month + "月是冬季");
                  }
              }
          }
          View Code

 

 

2. 循环结构

2.1 循环结构概述

  • 循环结构的分类

    • for

    • while

    • do...while

2.2 循环结构——for语句

  • 格式:
    • for (初始化表达式;条件表达式;循环后的操作表达式) {
        循环体;
      }

  • 执行流程:

    • 执行初始化语句

    • 执行判断条件语句,看其返回值是true还是false

      • 如果是true,就继续执行

      • 如果是false,就结束循环

    • 执行循环体语句;

    • 执行循环后的操作表达式  (在循环体执行完成后,执行 i++,或 i--)

    • 回到执行判断条件语句,看其返回值是true还是false

  • 案例演示

    • 在控制台输出10次"helloworld"

    • /*
      * A:循环结构的分类
          * for,while,do...while 
      * B:循环结构for语句的格式:
      * 
              for(初始化表达式;条件表达式;循环后的操作表达式) {
                  循环体;
              }
      * C执行流程:
          * a:执行初始化语句
          * b:执行判断条件语句,看其返回值是true还是false
              * 如果是true,就继续执行
              * 如果是false,就结束循环
          * c:执行循环体语句;
          * d:执行循环后的操作表达式
          * e:回到B继续。
      * D:案例演示
          * 在控制台输出10次"helloworld"
      */
      class Demo1_For {
          public static void main(String[] args) {
              //在控制输出10次helloworld,这样做不推荐,因为复用性太差
              /*System.out.println("helloworld");
              System.out.println("helloworld");
              System.out.println("helloworld");
              System.out.println("helloworld");
              System.out.println("helloworld");
              System.out.println("helloworld");
              System.out.println("helloworld");
              System.out.println("helloworld");
              System.out.println("helloworld");
              System.out.println("helloworld");*/
      
              for (int i = 1;i <= 10 ;i++ ) {
                  System.out.println(i + " helloworld");
              }
          }
      }
      View Code
  • 案例演示

    • 需求:请在控制台输出数据1-10

    • 需求:请在控制台输出数据10-1

    • /*
      * A:案例演示
          * 需求:请在控制台输出数据1-10
          * 需求:请在控制台输出数据10-1
      * B:注意事项
          * a:判断条件语句无论简单还是复杂结果是boolean类型。
          * b:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
          * c:一般来说:有左大括号就没有分号,有分号就没有左大括号
      */
      class Test1_For {
          public static void main(String[] args) {
              for (int i = 1;i <= 10 ;i++ ){
                  System.out.println("i = " + i);
              }
              System.out.println("-----------------------");
      
              for (int i = 10;i >= 1 ;i-- ) {
                  System.out.println("i = " + i);
              }
          }
      }
      View Code

       

  • 注意事项

    • 判断条件语句无论简单还是复杂结果是boolean类型。

    • 循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。

    • 一般来说:有左大括号就没有分号,有分号就没有左大括号

  • 案例演示

    • 需求:求出1-10之间数据之和

    • 需求:求出1-100之间偶数和

    • 需求:求出1-100之间奇数和

    • /*
      * A:案例演示
          * 需求:求出1-10之间数据之和
      * B:学生练习
          * 需求:求出1-100之间偶数和
          * 需求:求出1-100之间奇数和
      
          分析:1-10数据的和
          0 + 1
              1 + 2
                  3 + 3
                      6
                      ...
      */
      class Test2_For {
          public static void main(String[] args) {
              //1-10的和
              /*int sum = 0;
              for (int i = 1;i <= 10 ;i++ ) {
                  sum = sum + i;
              }
      
              System.out.println("sum = " + sum);*/
      
              //1-100的偶数和
              /*int sum = 0;
              for (int i = 1;i <= 100 ;i++ ) {
                  if (i % 2 == 0) {
                      sum = sum + i;
                  }
              }
      
              System.out.println("sum = " + sum);*/
      
              //1-100的奇数和
              int sum = 0;
              for (int i = 1;i <= 100 ;i+=2 ) {
                  /*if (i % 2 != 0) {
                      sum = sum + i;
                  }*/
                  sum = sum + i;
              }
      
              System.out.println("sum = " + sum);
          }
      }
      View Code

       

 

  • “水仙花数”案例演示

    • 需求:在控制台输出所有的”水仙花数”

    • 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

    • 举例:153就是一个水仙花数。

      • 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153

    • /*
      * A:案例演示
          * 需求:在控制台输出所有的”水仙花数”
      
          * 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
          * 举例:153就是一个水仙花数。
          * 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
      
          分析:
          1,100 - 999
          2,获取每一个位数的值,百位,十位,个位
          3,判断各个位上的立方和是否等于这个数,如果等于打印
      */
      class Test3_Flower {
          public static void main(String[] args) {
              for (int i = 100;i <= 999 ;i++ ) {                    //获取100到999之间的数
                  int ge = i % 10;                                //123 % 10 
                  int shi = i / 10 % 10;                            //12 % 10;
                  int bai = i / 10 / 10 % 10;                        //1 % 10
      
                  if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
                      System.out.println(i);
                  }
              }
          }
      }
      View Code

 

 

 

2.3 循环结构——while语句

  •  循环结构while语句的格式:
    • while循环的基本格式:
      while (判断条件语句)  {
           循环体语句;
      }

    • 完整格式:
      • 初始化语句;
        while  (判断条件语句)  {
            循环体语句;
            控制条件语句;
        }

  • 执行流程:
    • 执行初始化语句
    • 执行判断条件语句,看其返回值是true还是false

      • 如果是true,就继续执行

      • 如果是false,就结束循环

    • 执行循环体语句;

    • 执行控制条件语句

    • 回到执行判断语句,继续循环,直到条件语句不满足。

  • 案例演示
    • 需求:请在控制台输出数据1-10
    • /*
      * A:循环结构while语句的格式:
      *         
              while循环的基本格式:
              while(判断条件语句) {
                  循环体语句;
              }
              
              完整格式:
              
              初始化语句;
              while(判断条件语句) {
                   循环体语句;
                   控制条件语句;
              }
      * B:执行流程:
          * a:执行初始化语句
          * b:执行判断条件语句,看其返回值是true还是false
              * 如果是true,就继续执行
              * 如果是false,就结束循环
          * c:执行循环体语句;
          * d:执行控制条件语句
          * e:回到B继续。
      * C:案例演示
          * 需求:请在控制台输出数据1-10
      */
      class Demo1_While {
          public static void main(String[] args) {
              int x = 1;
              while (x <= 10) {
                  System.out.println("x = " +  x);
                  x++;
              }
          }
      }
      View Code 
  • 案例演示
    • 求和:求1-100的和
    • 统计:统计水仙花数 有多少个
    • class Test1_While {
          public static void main(String[] args) {
              /*
              * A:求和思想
                  * 求1-100之和
              * B:统计思想
                  * 统计”水仙花数”共有多少个
              */
              
              //求1-100之和
              /*int sum = 0;
              int i = 1;
              while (i <= 100) {
                  sum += i;                    //sum = sum + i;
                  i++;                        //让变量i自增
              }
      
              System.out.println("sum = " + sum);*/
      
              //统计”水仙花数”共有多少个
              int count = 0;                    //计数器
              int i = 100;
              while (i <= 999) {
                  int ge = i % 10;
                  int shi = i / 10 % 10;
                  int bai = i / 100;
      
                  if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
                      count ++;
                  }
      
                  i++;
              }
      
              System.out.println("count =" + count);
      
              //某屌丝为了追求女神,写了一段代码示爱,但是女神也会java,改动一下把屌丝拒绝
              int j = 1;
              while (j <= 10000) {
                  System.out.println("I Love You!!!");
                  j++;
              }
          }
      }
      View Code

 

2.4 循环结构——do...while语句

  • 循环结构do...while语句的格式:
    • 初始化语句;
      do {
      循环体语句;
      控制条件语句;
      }while(判断条件语句);

  • 执行流程:

    • 执行初始化语句

    • 执行循环体语句;

    • 执行控制条件语句

    • 执行判断条件语句,看其返回值是true还是false

      • 如果是true,就继续执行

      • 如果是false,就结束循环

    • 回到循环体语句,再次循环,直至控制条件不满足

  • 案例演示
    • 需求:请在控制台输出数据1-10
    • class Test {
          public static void main(String[] args) {
              int i = 0;
              do {
                  System.out.println(i);
                  i++;
              }
              while (i < 11);
          }
      }
      View Code

 

2.5 三种循环语句的区别

  • 三种循环语句的区别:

    • do...while循环至少执行一次循环体。

    • 而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句

      • 例如:
        • class Demo1_DoWhile {
              public static void main(String[] args) {
                  //while 和do while的区别
                  int i = 11;
                  do {
                      System.out.println("i = " + i);
                      i++;
                  }
                  while (i <= 10);  // 条件不成立,但是循环体先执行,故至少执行一次循环体
                  
                  System.out.println("---------------------");
          
                  int j = 11;
                  while (j <= 10) {
                      System.out.println("j = " + j);
                      j++;
                  }  //条件不成立,不执行
          
              }
          }

           

    • 如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用谁就用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。
      • 例如:
        • class Demo1_DoWhile {
              public static void main(String[] args) {
                  for (int i = 1;i <= 10 ;i++ ) {
                      System.out.println("i = " + i);
                  }
          
                  //System.out.println("i = " + i);            for语句执行后变量会被释放,不能再使用
                  System.out.println("-------------------");
                  int i = 1;
                  while (i <= 10) {
                      System.out.println("i = " + i);
                      i++;
                  }
                  System.out.println("-------------------");
                  System.out.println("i = " + i);                //while语句执行后,初始化变量还可以继续使用*/
          
                  }
          }

 

 

 

 

2.6 死循环

  • 一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。

  • 两种最简单的死循环格式

    • while(true){...}

    • for(;;){...}

    • class Demo1_DoWhile {
          public static void main(String[] args) {
      
              //while语句的无限循环
              while (true) {
                  System.out.println("hello world");
              }
      
              //System.out.println("hello world");
              //for语句的无限循环
              for (; ; ) {
                  System.out.println("hello world");
              }
          }
      }
      View Code

       

 

2.7 循环嵌套

  • 打印4行5列的星星
    • /*
      * A:案例演示
          * 需求:请输出一个4行5列的星星(*)图案。
          * 
                  如图:
                      *****
                      *****
                      *****
                      *****
                      
                  注意:
                      System.out.println("*");和System.out.print("*");的区别
      * B:结论:
          * 外循环控制行数,内循环控制列数
      */
      class Demo1_ForFor {
          public static void main(String[] args) {
              /*for (int i = 1;i <= 3 ;i++ ) {                    //外循环
                  System.out.println("i = " + i);
                  for (int j = 1;j <= 3 ;j++ ) {                //内循环
                      System.out.println("j = " + j);
                  }
              }*/
      
              for (int i = 1;i <= 4 ;i++ ) {                    //外循环决定的是行数
                  for (int j = 1;j <= 5 ;j++ ) {                //内循环决定的是列数
                      System.out.print("*");
                  }
                  System.out.println();
              }
          }
      }
      
      /*
      *****
      *****
      *****
      *****
      
      */
      View Code
    • 结论:
      • 外循环控制行数,内循环控制列数
  • 请输出下列的形状
    • /*
      需求:请输出下列的形状
              *
              **
              ***
              ****
              *****
      */
      class Demo2_ForFor {
          public static void main(String[] args) {
              for (int i = 1;i <= 5 ; i++) {                //外循环决定行数
                  for (int j = 1;j <= i ;j++ ) {            //内循环决定列数
                      System.out.print("*");
                  }
                  System.out.println();                    //将光标换到下一行的行首
              }
          }
      }
      View Code
  • 九九乘法表
    • class Test {
          public static void main(String[] args) {
              for (int i = 1;i < 10; i++ ) {
                  for (int j = 1; j <= i ; j++ ) {
                      System.out.print(j+"*"+i+"="+(i * j)+" ");
                  }
                  System.out.println();
                      
              }
      
          }
      }
      View Code

 

2.8 控制跳转语句——break语句,continue语句,标号,return语句

  • break语句
    • 只能在switch和循环中
  • continue语句
    • 只能在循环中
  • 控制跳转语句标号
    • 标号:标记某个循环对其控制
    • 标号组成规则:其实就是合法的标识符
    • class Demo3_Mark {                                        //mark 标记
          public static void main(String[] args) {
              outer: for (int i = 1;i <= 10 ;i++ ) {        //outer,inner就是标号,只要是合法的标识符即可
                  System.out.println("i = " + i);
                  inner: for (int j = 1;j <= 10 ;j++ ) {
                      System.out.println("j = " + j);
                      break outer;
                  }
              }
          }
      }
    • 标号的格式就是 合法的标识符 加上“:”
      • outer:
      • inner:
      • a:
      • http:
      • this:
  • 控制跳转语句return语句)
    • return的作用

      • 返回

        • 其实它的作用不是结束循环的,而是结束方法的。

    • 案例演示

      • return和break以及continue的区别?

        • return是结束方法

        • break是跳出循环

        • continue是终止本次循环继续下次循环

 

 

posted on 2020-04-20 15:37  Zoe233  阅读(169)  评论(0编辑  收藏  举报