Java switch-case语句用法
Java switch-case语句用法
switch(表达式) { case 常量表达式1:语句1; .... case 常量表达式2:语句2; default:语句; }
1、switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高。
2、default就是如果没有符合的case就执行它,default并不是必须的.
3、case后的语句可以不用大括号.
4、switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
5、一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句. 原理归原理,下面是几个容易混淆的例子. 1.标准型(case后面都有break语句) int i=3; switch(i) { case 1: System.out.println(1); break; case 2: System.out.println(2); break; case 3: System.out.println(3); break; default: System.out.println("default"); break; } 输出结果: 3 2.特殊型1(不是完全有break语句,可以完成一些特殊应用) int year=2005; int month=3; int day;
switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day=31; break; case 2: day=28; break; case 4: case 6: case 9: case 11: day=30; break; } 这里 day=31; 3.特殊型2(default的位置) int i=1; switch(i) { case 1: System.out.println(1); default: System.out.println("default"); case 2: System.out.println(2); break; case 3: System.out.println(3); break; } 输出结果: 1 default 2
-------------------------------------------------------------------------------------------------
实例介绍:
1) 1publicclassSwitch { 2 publicstaticvoidmain(String[] args){ 3 intx=0; 4 switch(x){ 5 default: 6 System.out.println("default"); 7 case1: 8 System.out.println(1); 9 case2: 10 System.out.println(2); 11 } 12 } 13}
输出结果如下: default 1 2 2) 1publicclassSwitch { 2 publicstaticvoidmain(String[] args) { 3 intx =0; 4 switch(x) { 5 default: 6 System.out.println("default"); 7 case0: 8 System.out.println(0); 9 case1: 10 System.out.println(1); 11 case2: 12 System.out.println(2); 13 } 14 } 15}
1) 1publicclassSwitch { 2 publicstaticvoidmain(String[] args){ 3 intx=0; 4 switch(x){ 5 default: 6 System.out.println("default"); 7 case1: 8 System.out.println(1); 9 case2: 10 System.out.println(2); 11 } 12 } 13} 输出结果如下: default 1 2 2) 1publicclassSwitch { 2 publicstaticvoidmain(String[] args) { 3 intx =0; 4 switch(x) { 5 default: 6 System.out.println("default"); 7 case0: 8 System.out.println(0); 9 case1: 10 System.out.println(1); 11 case2: 12 System.out.println(2); 13 } 14 } 15}输出结果如下: 0 1 2 3)
1publicclassSwitch { 2 publicstaticvoidmain(String[] args) { 3 intx =0; 4 switch(x) { 5 case0: 6 System.out.println(0); 7 case1: 8 System.out.println(1); 9 case2: 10 System.out.println(2); 11 default: 12 System.out.println("default"); 13 } 14 } 15}
1publicclassSwitch { 2 publicstaticvoidmain(String[] args) { 3 intx =0; 4 switch(x) { 5 case0: 6 System.out.println(0); 7 case1: 8 System.out.println(1); 9 case2: 10 System.out.println(2); 11 default: 12 System.out.println("default"); 13 } 14 } 15}输出结果如下: 0 1 2 default
总结: switch表达式的值决定选择哪个case分支,如果找不到相应的分支,就直接从"default"开始输出。 当程序执行一条case语句后,因为例子中的case分支中没有break和return语