Java基础整理--控制语句

本文整理Java中的控制语句,罗列基础中的不常见或者易忽略的语法。控制语句中还有最简单的 if 语句,本文未列出。

Switch

  1. case语句匹配成功的分支执行,分支当中最后有“break;”语句的话,整个switch语句终止;分支当中没有“break;”语句的话,直接进入下一个分支执行(不进行匹配),这种现象被称为case穿透现象【提供break;语句可以避免穿透】
  2. 所有分支都没有匹配成功,若有default语句的话,则执行default分支当中的语句
  3. switch后面和case后面只能是int或者String类型的数据(JDK6只能探测int类型,JDK7及以后的版本能探测int或者String类型),不能是其他类型;byte, short, char可以直接写到switch和case后面,因为它们可以进行自动类型转换
//switch后只能探测int或者String类型
long x = 10L;
switch(x){} //这里的x会报错,要求进行强制类型转换

//char类型自动转换为int类型
char c = 'B';
switch(c){
	case 'A':
		System.out.println("高级!");
		break;
	case 66: //'B'对应的ASCII码为66,程序运行输出为“中级!”
		System.out.println("中级!");
		break;
}
  1. case合并
		int x = 3;
        switch(x){
            case 1: case 3: case 10:
                System.out.println("success!");
                break;
        }

for/while

  1. for死循环
    for( ; ; ){ System.out.println(“死循环”);}
    注:(1)for循环中的初始化表达式,布尔表达式,更新表达式都不是必需的;但两个分号是必需的。(2)布尔表达式必须是true/false,不能是其他值
  2. while死循环
    以下程序编译报错
while(true){
            System.out.println("死循环!");
        }
System.out.println("Hello!"); //编译器分析出上面为死循环,该条语句永远不可到达,编译报错

同样的,判断以下程序编译是否报错

        int y = 10;
        int z = 3;
        while(y > z){
            System.out.println("哈哈");
        }
        System.out.println("嘿嘿"); //编译通过,程序在运行期间才能访问y和z
        ==================
        while(10 > 3){
            System.out.println("嘻嘻");
        }
        System.out.println("呵呵"); //编译报错,程序判断上面的while陷入死循环,该语句不可达
  1. do…while循环
    语法:
do{
	循环体;
}while(布尔表达式); //注意这里是有分号的

break/continue

(1)默认情况下,break语句终止的是离它最近的循环语句。当然也可以指定终止某个循环,需要给循环起名。采用这种语法:break 循环名称;【用的较少】

for1:for(int i = 0; i < 3; i++){
            for2:for(int j = 0; j < 10; j++){
                if(j == 5){
                    break for1;
                }
                System.out.println("j=" + j); //执行结果为打印出j=0 j=1 j=2 j=3 j=4;
            }
        }

(2)continue语句表示不再执行continue语句后的语句,继续循环

for(int i = 0; i < 5; i++){
        if(i == 2)
              continue;
        System.out.println("i=" + i); //打印的结果为i=0 i=1 i=3 i=4
}

猜你喜欢

转载自blog.csdn.net/shao_yc/article/details/106558037
今日推荐