java中switch选择结构
switch case可以翻译为判断变量xxx,如果是x1 则执行xxxjava语句;如果是x2 则执行xxjava语句。
1、基本语法
switch(xxx变量){ case 结果1: System.out.println("结果是1"); break; //每个case判断,都需要添加结束语句,否则会继续下面的case case 结果2: System.out.println("结果是2"); break; //都匹配不上,选择default default: System.out.println("结果是10");
注意事项:
1、switch判断变量,变量只能是int/String数据类型(byte/short/char可以自动转换为int,所以也可以传入;long数据类型必须强制转换为int才可以)
2、case条件可以进行合并处理case 结果1: case 结果2: case 结果3:
3、每个case对switch变量判断结果后,执行完成java语句后,必须break/或者有return语句结束,否则会继续进行下一个case判断并且不论是否满足条件都会执行其中的语句;这种叫穿透
4、如果所有的case条件都不匹配,则进行default
2、switch判断变量,变量只能是int/String数据类型(byte/short/char可以自动转换为int,所以也可以传入;long数据类型必须强制转换为int才可以)
//判断字符串 String a1 ="jesse"; switch(a1){ case "": System.out.println("结果是1"); break; case "啊": System.out.println("结果是2"); break; //都匹配不上,选择default default: System.out.println("结果不是1,也不是2"); } //判断int类型 int a1 =10; switch(a1){ case 1: System.out.println("结果是1"); break; //都匹配不上,选择default default: System.out.println("结果不是1"); } //long类型强制转换为int long a1 =10; switch((int)a1){ case 1: System.out.println("结果是1"); break; //都匹配不上,选择default default: System.out.println("结果不是1"); }
3、case条件可以进行合并处理case 结果1: case 结果2: case 结果3:
//long类型强制转换为int int a1 =10; switch(a1){ case 1: case 2: case 3: System.out.println("结果是1/2/3"); break; //都匹配不上,选择default default: System.out.println("结果不是1/2/3"); }
4、switch case中的穿透
如果满足某个case条件,并且改case没有编写结束语句(break/return),那么会继续执行下面的case(不会判断是否满足条件)直到遇到break/return/结束
如果上一个case没有满足条件,即使没有break,不会进入所以也不会穿透到下个case
//穿透 int a1 =10; switch(a1){ case 10: System.out.println("结果是10"); //满足第一个条件,执行此语句 case 2: System.out.println("结果是2"); //上一个case没有break结束,所以会继续执行此语句 //都匹配不上,选择default default: System.out.println("结果不是1/2/3"); //上一个case没有break结束,同样会继续执行此语句 } //执行结果 结果是10 结果是2 结果不是1/2/3 //不穿透 int a1 =10; switch(a1){ case 1: System.out.println("结果是1"); //不满足case,不会进入 case 2: System.out.println("结果是2"); //上一个case没有进入,这个不满足所以不会执行 //都匹配不上,选择default default: System.out.println("结果不是1/2"); //上面的都没有执行,所以执行default }
//执行结果
结果不是1/2
posted on 2021-04-18 15:50 jesse_zhao 阅读(355) 评论(0) 编辑 收藏 举报