switch 语句 总结笔记
1.switch 语句
语法:
switch(expression)
{
case value1 : statement1;
break;
case value2 : statement2;
break;
case value3 : statement3;
break;
default: statement4;
}
注意:
- expression必须是byte、short、int、char类型的,value必须与expression类型兼容的一个常量,而且不能重复。
- 一定不要望了每个判断后添加break,否则计算机回默认执行为真后面所有的statement;
- default语句可以出现在任意位置;statement、break、default都可以不写。
2.switch无break
int a=2;
switch(a)
{
case 1 :System.out.println(1);
case 2 : System.out.println(2);
case 3 :System.out.println(3);
break;
default:System.out.println(4);
}
运行结果:
2
3
代码解析:case 2 语句后没有break,程序继续向下执行,遇到case 3 语句后的break结束switch语句,故default语句不会执行。
4.case后无statement语句
public class sd {
public static void main(String[] args) {
int month=2;
switch(month)
{
case 12 :
case 1 :
case 2 :
System.out.println("冬季");
break;
case 3 :
case 4 :
case 5 :
System.out.println("春季");
break;
case 6 :
case 7 :
case 8 :
System.out.println("夏季");
break;
case 9 :
case 10 :
case 11 :
System.out.println("秋季");
break;
default:System.out.println("输入错误");
}
}
}
5.default 不在末尾
public class A {
public static void main(String[] args) {
int a=2;
switch(a)
{
default: System.out.println("no");
case 0: System.out.println(0);
case 1: System.out.println(1);
}
}
}
运行结果:
no
0
1
public class A {
public static void main(String[] args) {
int a=0;
switch(a)
{
default: System.out.println("no");
case 0: System.out.println(0);
case 1: System.out.println(1);
}
}
}
运行结果:
0
1
switch 语句的执行逻辑:先找experssion对应的value值,如果存在执行对应语句向下执行直到遇到break;如果不存在则执行default语句再向下执行,遇到break停止。
日出东方,年轻的侠客披上斗篷。 自此,诗酒天涯,琪琚佩剑。

浙公网安备 33010602011771号