黑马程序员技术交流社区

标题: 关于switch结构 [打印本页]

作者: EarlyHeart    时间: 2014-7-9 21:14
标题: 关于switch结构
本帖最后由 EarlyHeart 于 2014-7-11 12:05 编辑

switch能作用在那些类型上,为什么
作者: 签发    时间: 2014-7-9 21:25
可以是int基本类型或Integer包装类型,由于,byte,short,char都可以自动转换为int,所以,这些类型以及这些类型的包装类型也是可以的。然而long和String是不可以的
作者: 张盼    时间: 2014-7-9 21:29
签发 发表于 2014-7-9 21:25
可以是int基本类型或Integer包装类型,由于,byte,short,char都可以自动转换为int,所以,这些类型以及这些 ...

兄弟,除了short,byte,char,int类型以外,在JDK5.0以后,switch还可以作用在枚举上,JDK7.0以后switch可以作用在String上
作者: 签发    时间: 2014-7-10 06:48
张盼 发表于 2014-7-9 21:29
兄弟,除了short,byte,char,int类型以外,在JDK5.0以后,switch还可以作用在枚举上,JDK7.0以后switch ...

哦哦 !那是我错了,误人子弟了
作者: 慕杰    时间: 2014-7-10 09:11
张盼 发表于 2014-7-9 21:29
兄弟,除了short,byte,char,int类型以外,在JDK5.0以后,switch还可以作用在枚举上,JDK7.0以后switch ...

兄弟你连这都知道了,高手啊?
作者: 渴望学习    时间: 2014-7-10 09:32
张盼 发表于 2014-7-9 21:29
兄弟,除了short,byte,char,int类型以外,在JDK5.0以后,switch还可以作用在枚举上,JDK7.0以后switch ...

楼主,牛掰吖!!!
作者: 张周飞    时间: 2014-7-10 09:56
本帖最后由 张周飞 于 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
switch()
case 整型,字符,字符串
作者: 张盼    时间: 2014-7-10 21:01
签发 发表于 2014-7-10 06:48
哦哦 !那是我错了,误人子弟了

互相学习而已




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2