A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 秦大忠 于 2013-10-14 10:01 编辑

比如这个程序
class VarDemo{
public static void main(String[] args){
boolean x =false;
switch(x){
case false:
System.out.println("false");
case true:
System.out.println("true")
default:
System.out.println();
}
}
}

2 个回复

倒序浏览
此外还能接受一个enum类型的枚举数据类型,byte short char这些都能隐式的转换成int,switch能接受int类型的数据,java 7后能接受String类型的数据,这是语法规则,没有为什么.
回复 使用道具 举报
Switch语句是对某几个值进行判断  
所接收的类型有byte,short,int,char,String还有枚举
而像你的这段代码
  1. boolean x =false;
  2. switch(x){
  3. case false:
  4. System.out.println("false");
  5. case true:
  6. System.out.println("true")
  7. default:
  8. System.out.println();
  9. }
复制代码
你传入的是boolean值而输出的照样还是boolean
而boolean的取值就只有两个这样是没有意义的操作所以java直接屏蔽了

你的程序不如用三元运算符更好
boolean b = x == false ? false :true;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马