2.switch结构
总结:
1.具体格式。小括号中能写什么。"byte short int char String"
2.加载顺序。执行的时候,会把所有的case"同时加载"到内存中。直接执行跟表达式相同的那个case。
"case不能重复"
3.case穿透。
在执行switch中case语句体的时候,会遇到break或者右大括号停止。
如果没有遇到,继续执行下一个case的语句体。直到遇到break或者右大括号停止。
应用场景:
当多个case的语句体重复的时,可以使用case穿透来减少代码量。
格式:
switch (表达式){
case 值1:
语句体1;
break;//跳出整个switch语句。
case 值2:
语句体2;
break;//跳出整个switch语句。
...
default :
语句体n;
break;
}
练习:
int x = 10;
switch (x){
case 1:
System.out.println("AAA");
break;
case 2:
System.out.println("BBB");
break;
case 3:
System.out.println("CCC");
break;
case 4:
System.out.println("DDD");
break;
case 5:
System.out.println("EEE");
break;
default :
System.out.println("default");
break;
}
当case后面的值跟小括号中的结果都不一样的时候,此时会执行default。
int x = 5;
switch (x){
case 5:
System.out.println("AAA");
break;
case 5:
System.out.println("BBB");
break;
case 5:
System.out.println("CCC");
break;
case 5:
System.out.println("DDD");
break;
case 5:
System.out.println("EEE");
break;
default :
System.out.println("default");
break;
}
练习:
练习1:
int a = 1;
switch (a){
case 1:
System.out.println(111);
break;
case 2:
System.out.println(222);
break;
case 3:
System.out.println(333);
break;
default :
System.out.println("AAA");
break;
}
结果:
111
练习2:
int a = 1;
switch (a){
case 1:
System.out.println(111);
case 2:
System.out.println(222);
case 3:
System.out.println(333);
break;
default :
System.out.println("AAA");
break;
}
结果:
111
222
333
练习3:
int a = 5;
switch (a){
case 1:
System.out.println(111);
case 2:
System.out.println(222);
case 3:
System.out.println(333);
break;
default :
System.out.println("AAA");
break;
}
结果:
AAA
练习4:
int a = 5;
switch (a){
case 1:
System.out.println(111);
case 2:
System.out.println(222);
case 3:
System.out.println(333);
break;
default :
System.out.println("AAA");
}
结果:
AAA
练习5:
int a = 5;
switch (a){
default :
System.out.println("AAA");
case 1:
System.out.println(111);
case 2:
System.out.println(222);
case 3:
System.out.println(333);
}
结果:
AAA
111
222
333