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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© EarlyHeart 中级黑马   /  2014-7-9 21:14  /  1704 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 EarlyHeart 于 2014-7-11 12:05 编辑

switch能作用在那些类型上,为什么

8 个回复

倒序浏览
可以是int基本类型或Integer包装类型,由于,byte,short,char都可以自动转换为int,所以,这些类型以及这些类型的包装类型也是可以的。然而long和String是不可以的
回复 使用道具 举报
签发 发表于 2014-7-9 21:25
可以是int基本类型或Integer包装类型,由于,byte,short,char都可以自动转换为int,所以,这些类型以及这些 ...

兄弟,除了short,byte,char,int类型以外,在JDK5.0以后,switch还可以作用在枚举上,JDK7.0以后switch可以作用在String上
回复 使用道具 举报 1 0
张盼 发表于 2014-7-9 21:29
兄弟,除了short,byte,char,int类型以外,在JDK5.0以后,switch还可以作用在枚举上,JDK7.0以后switch ...

哦哦 !那是我错了,误人子弟了
回复 使用道具 举报
张盼 发表于 2014-7-9 21:29
兄弟,除了short,byte,char,int类型以外,在JDK5.0以后,switch还可以作用在枚举上,JDK7.0以后switch ...

兄弟你连这都知道了,高手啊?
回复 使用道具 举报
张盼 发表于 2014-7-9 21:29
兄弟,除了short,byte,char,int类型以外,在JDK5.0以后,switch还可以作用在枚举上,JDK7.0以后switch ...

楼主,牛掰吖!!!
回复 使用道具 举报
本帖最后由 张周飞 于 2014-7-10 09:58 编辑

switch语句的有关规则:
1: 表达式的返回值是:int   byte char short 类型和枚举  是确定结果的。在1.7版本中可以介绍Sting字符串,超出这些范围用  if
2:case 中取值必须是常量,并且取值均不同。不能是变量,只能是固定的值,比如:9、10等等。
3:break语句用来跳出Switch语句块,不往下执行。没有加bteak,则直接往下执行。
4:case后面的执行体可写 {  },也可以不写  { }
例子:
float X;
float Y;
Switch(X+Y){
   ..............................
}
//是错的,为什么?
switch(X+Y )里面只能int   byte char short类型和枚举中,不能是float型。而且case的常量表达式要和Switch后面的表达式类型一致。


O(∩_∩)O~愿:能帮到你............................
回复 使用道具 举报
Adjin 中级黑马 2014-7-10 11:01:11
8#
switch()
case 整型,字符,字符串
回复 使用道具 举报
张盼 中级黑马 2014-7-10 21:01:26
9#
签发 发表于 2014-7-10 06:48
哦哦 !那是我错了,误人子弟了

互相学习而已
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马