java中case 0是什么情况,case右边的取值(不是case的取值)还可以是字符是吧,那字符有什么规范吗?
JDK1.7版本之前,case语句只支持可转换为int型的类型(byte ,short,char,int(其他的都不可以))和枚举类型的数据变量;(char可以转换成int)
JDK1.7中,switch-case语句可以支持字符串类型。
String input = "Monday";
String output = null;
switch(input){
case "Monday":
output = "星期一";
break;
case "Tuesday":
output = "星期二";
break;
case "Wednesday":
output = "星期三";
break;
case "Thursday":
output = "星期四";
break;
case "Friday":
output = "星期五";
break;
case "Saturday":
output = "星期六";
break;
case "Sunday":
output = "星期日";
break;
default:
throw new IllegalArgumentException("无效的输入参数:" + input);
}
System.out.println(output); //输出:星期一
字符的本质还是数字。字符其实就是ascii编码。你用(int)char转换下就知道了。
Case的参数值只能是int,字符类型char,还有枚举类型的。
switch语句参数表达式只能还整数表达式和枚举常量,整数表达式可以是int和Integer,由于byte short char 可以隐含的转换为int, 所有这些类型和其包装类也是可以的
char,int,enum,String应该就这些