语法:
switch(expression)
{
case value1 : statement1;
break;
case value2 : statement2;
break;
case value3 : statement3;
break;
default: statement4;
}
注意:
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语句不会执行。
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("输入错误");
}
}
}
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停止。
原文:https://www.cnblogs.com/weiyi2020/p/12359288.html