java基础复习 - 4 - 流程控制
流程控制
switch
- 表达式数据类型,应和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"); } - switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum,String)
 - case子句中的值必须是常量,而不能是变量
 - default子句是可选的,当没有匹配的case时,执行default
 - break语句用来执行完一个case分之后使程序跳出switch语句块;如果没有写break,程序会顺序执行到switch结尾。
 
for循环
for(循环变量初始化;循环条件;循环变量迭代){
    循环操作
}
- for循环四要素: 循环变量初始化;循环条件;循环操作;循环变量迭代
 - for循环执行流程分析
 - 循环条件是返回一个布尔值的表达式
 - 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("..."); } - 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。
 
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
- 通过标签(可以是任意标识符)指明要终止的是哪一层语句块
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); } } - 没有指定标签默认退出最近的循环体,尽量不使用标签
 
continue
continue也可以指定标签
                    
                
                
            
        
浙公网安备 33010602011771号