面试题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

 

/**
 * 问题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上
 * 基本类型的包装类(如:Character、Byte、Short、Integer)
 * 
 * switch可作用于char byte short int
 * switch可作用于char byte short int对应的包装类
 * switch不可作用于long double float boolean,包括他们的包装类
 * switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上)
 * switch中可以是枚举类型

 */

switch可作用于char byte short int
switch可作用于char byte short int对应的包装类
switch不可作用于long double float boolean,包括他们的包装类,源代码示例:

 

[java] view plain copy

  1. package java基础题目;  
  2.   
  3. public class Test5 {  
  4.     public static void main(String[] args) {  
  5.         // switch可作用于char byte short int  
  6.         char season1 = 3;  
  7.         byte season2 = 3;  
  8.         short season3 = 3;  
  9.         int season4 = 3;  
  10.   
  11.         // switch可作用于char byte short int对应的包装类  
  12.         Character season11 = 3;  
  13.         Byte season22 = 3;  
  14.         Short season33 = 3;  
  15.         Integer season44 = 3;  
  16.   
  17.         // 下面的基本类型的包装类就不行了,还有double float的包装类  
  18.         // Long season = 0;  
  19.   
  20.         // switch不可作用于long double float boolean,包括他们的包装类  
  21.         long season5 = 3;  
  22.           
  23.         double season6 = 3;  
  24.         float season7 = 3f;  
  25.         boolean season8 = false;  
  26.         //......  
  27.   
  28.         String strSeason = "";  
  29.         switch (season1) {  
  30.         case 1:  
  31.             strSeason = "Spring";  
  32.             break;  
  33.         case 2:  
  34.             strSeason = "Summer";  
  35.             break;  
  36.         case 3:  
  37.             strSeason = "Fall";  
  38.             break;  
  39.         case 4:  
  40.             strSeason = "Winter";  
  41.             break;  
  42.         default:  
  43.             strSeason = "四季中没有这个季节";  
  44.             break;  
  45.         }  
  46.         System.out.println("strSeason:" + strSeason);  
  47.     }  
  48.   
  49. }  


switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上),源代码示例:

 

 

[java] view plain copy

  1. package java基础题目;  
  2.   
  3. /* 
  4.  * switch中可以是字符串类型 
  5.  *String(jdk1.7之后才可以作用在string上) 
  6.  */  
  7. public class Test6 {  
  8.     public static void main(String[] args) {  
  9.         int season = 0;  
  10.         String strSeason = "Summer";  
  11.         switch (strSeason.toLowerCase()) {  
  12.         case "spring":  
  13.             season = 1;  
  14.             break;  
  15.         case "summer":  
  16.             season = 2;  
  17.             break;  
  18.         case "fall":  
  19.             season = 3;  
  20.             break;  
  21.         case "winter":  
  22.             season = 4;  
  23.             break;  
  24.         default:  
  25.             season = -1;// 没找到对应的季节  
  26.             break;  
  27.         }  
  28.         System.out.println(strSeason + "-->" + season);  
  29.     }  
  30. }  

 

 

switch中可以是1.5枚举类型,源代码示例:

 

[java] view plain copy

  1. package java基础题目;  
  2. /* 
  3.  * switch中可以是1.5枚举类型 
  4.  */  
  5. //枚举三个量  
  6. enum Signal{  
  7.     GREEN,YELLOW,RED;  
  8. }  
  9. public class Test7 {  
  10.     public static void main(String[] args) {  
  11.         Signal color = Signal.RED;  
  12.           
  13.         switch (color) {  
  14.         case RED:  
  15.             color = Signal.YELLOW;  
  16.             break;  
  17.         case YELLOW:  
  18.             color = Signal.RED;  
  19.         case GREEN:  
  20.             color = Signal.YELLOW;  
  21.         default:  
  22.             System.out.println("什么鬼灯");  
  23.             break;  
  24.         }  
  25.           
  26.         System.out.println("color:"+color);  
  27.     }  
  28.   
  29. }  

转载于:https://my.oschina.net/u/3525396/blog/1305783

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值