java基础复习 - 4 - 流程控制

流程控制

switch

  1. 表达式数据类型,应和case后的常量类型一直,或者是可以自动转成可以相互比较的类型,比如输入的是字符,而常量是int
     char a = 'a';
     switch(a) {
         case 'b':
         System.out.println("aaaa");
         break;
         case 97 :
         System.out.println("int int");
         break;
         default : 
         System.out.println("default");
     }
    
  2. switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum,String)
  3. case子句中的值必须是常量,而不能是变量
  4. default子句是可选的,当没有匹配的case时,执行default
  5. break语句用来执行完一个case分之后使程序跳出switch语句块;如果没有写break,程序会顺序执行到switch结尾。

for循环

for(循环变量初始化;循环条件;循环变量迭代){
    循环操作
}
  1. for循环四要素: 循环变量初始化;循环条件;循环操作;循环变量迭代
  2. for循环执行流程分析
  3. 循环条件是返回一个布尔值的表达式
  4. for(;循环判断条件;)中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。标准格式i的作用局只能使用在for循环体中
    int i = 0;
    for(; i < 10;) {
        System.out.println("i : " + i);
        i++;
    }
    System.out.println("ok i : " + i);// 10
    
    for(;;) {// 表示一个无线循环
        System.out.println("...");
    }
    
  5. 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。

while do...while

for 循环练习打印空心金字塔

private static void printStar(int level) {
    for (int i = 1; i <= level; i++) {
        // 打印出*之前的空格
        for (int k = 1; k <= level - i; k++) {
            System.out.print(" ");
        }
        // 打印出每层的*
        for (int j = 1; j <= 2*i-1; j++) {
            if (j == 1 || j == 2*i-1 || i == level) {
                System.out.print('*');
            } else {
                System.out.print(" ");
            }
        }
        System.out.print('\n');
    }
}

break

  1. 通过标签(可以是任意标识符)指明要终止的是哪一层语句块
     label1:
     for (int i = 0; i < 4; i++) {
         label2:
         for (int j = 0; j < 4; j++) {
             if (j == 2) {
                 break label1;
             }
             System.out.println("j : " + j);
         }    
     }
    
  2. 没有指定标签默认退出最近的循环体,尽量不使用标签

continue

continue也可以指定标签

posted @ 2022-03-24 02:27  杨大德  阅读(40)  评论(0)    收藏  举报