Java中的switch-case语句

来源:互联网 发布:html实时数据页面设计 编辑:程序博客网 时间:2024/06/05 07:29

Java中switch-case语句的一般格式如下:

[java] view plain copy
  1. switch(参数) {  
  2.     case 常量表达式1break;  
  3.     case 常量表达式2break;  
  4.     ...  
  5.     defaultbreak;  
  6. }  

note:

switch接受的参数类型有10种,分别是基本类型的byte,short,int,char,以及引用类型的String(只有JavaSE 7 和以后的版本 可以接受String类型参数),enum和byte,short,int,char的封装类Byte,Short,Integer,Character

case 后紧跟常量表达式,不能是变量。

default语句可有可无,如果没有case语句匹配,default语句会被执行。

case语句和default语句后的代码可不加花括号。

如果某个case语句匹配,那么case后面的语句块会被执行,并且如果后面没有break关键字,会继续执行后面的case语句代码和default,直到遇见break或者右花括号。

具体例子如下:

[java] view plain copy
  1. package sampleTest;  
  2.   
  3. public class TestSwitch {  
  4.     public static void main(String[] args) {  
  5.         int count = 0;  
  6.         switch (count) {  
  7.         case 0:  
  8.             System.out.println("case0");  
  9.         case 1:  
  10.             System.out.println("case1");  
  11.         case 2:  
  12.             System.out.println("case2");  
  13.             break;  
  14.         case 3:  
  15.             System.out.println("case3");  
  16.         default:  
  17.             System.out.println("default!");  
  18.         }  
  19.           
  20.         System.out.println("-------------------");  
  21.           
  22.         String msg = "dragon";  
  23.         switch (msg) {  
  24.         case "rabbit":  
  25.             System.out.println("rabbit ");  
  26.         case "dragon":  
  27.             System.out.println("happy new year");  
  28.         default:  
  29.             System.out.println("what ?");  
  30.         case "monkey":  
  31.             System.out.println("monkey");  
  32.             break;  
  33.         case "tiger":  
  34.             System.out.println("tiger!!");  
  35.         }  
  36.     }  
  37. }  
输出如下:

case0
case1
case2
-------------------
happy new year
what ?
monkey


上面例子说明了两个问题,第一个是不加break的后果,第二个是default的位置对执行的影响。

原创粉丝点击