黑马程序员技术交流社区
标题: switch语句错误! [打印本页]
作者: 贾永长 时间: 2013-6-27 13:16
标题: switch语句错误!
switch语句中表达式的值必须是整数或字符型。整数型包括:byte、short、int、long。
那为什么我用了long型会报错呢?!
见代码:- public class Demo3
- {
- public static void main(String[] args)
- {
- long x=2,y=1; ----------------------------》定义long型变量 :报错!
- switch(x+y) ---------------------------》x+y也是long型
- {
- case 1:
- System.out.println(x+y);
- break;
- case 3:
- System.out.println(x+y);
- case 0:
- System.out.println(x+y);
- break;
- default:
- System.out.println("没有"+(x+y));
- break;
- }
- }
- }
- <p> </p>
复制代码
作者: 张承富 时间: 2013-6-27 13:39
小弟,不能是long
switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
jdk1.5判断条件可以接收枚举 enum
作者: 李晓峰 时间: 2013-6-27 13:45
在switch(x)中,x只能是一个整数表达式或者枚举常量,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。但是long类型不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它不能作用于swtich语句中。
作者: 以防万一 时间: 2013-6-27 13:49
1、switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.所以long类型在这里会报错
2、long类型 应该写为long x=2l,y=1l,后面要加上l
作者: 贾永长 时间: 2013-6-27 14:21
原来如此啊 你的讲解挺详细的 还给我纠正了 要加上l 谢了! 谢谢大家了!:handshake
作者: 王涵晴 时间: 2013-6-27 14:24
特点:
1、被选择的表达式的值,只接收四中类型 byte,short,int,char
2、在switch当中这些case是没有顺序的,但还是从第一个具体答案先执行
3、switch的结束有两种方式,第一种方式是执行到break就结束了;
{:soso_e176:}这是毕老师讲的switch语句的三个特点,switch语句能接收的类型里面没有long类型,
{:soso_e176:}要认真哦,加油、
作者: 王涵晴 时间: 2013-6-27 14:26
switch语句的三个特点:
1、被选择的表达式的值,只接收四中类型 byte,short,int,char
2、在switch当中这些case是没有顺序的,但还是从第一个具体答案先执行
3、switch的结束有两种方式,第一种方式是执行到break就结束了;第二种方式是执行到switch语句的大括号,然后结束
如果执行完default后没有碰到break,也没有碰到大括号,则继续往下执行;
{:soso_e176:}这是毕老师讲的switch语句的三个特点,switch语句能接收的类型里面没有long类型,
{:soso_e176:}要认真哦,加油、
作者: 贾永长 时间: 2013-6-27 14:30
恩恩,switch语句的三个特点记住了 认真加油! 谢了:handshake
作者: 以防万一 时间: 2013-6-27 14:37
不用谢,咱们都是黑马家的人嘛,既然都是黑马家的,就是一家人咯
嘿嘿,一家人,不用谢
偷偷告诉你
我也是正在努力成长中的菜鸟一枚
加油!
作者: 郭伟杰 时间: 2013-6-28 11:40
错!!! switch 里面的Case值必须为 int 型
作者: ヾMyHeartIsDead 时间: 2013-6-28 18:06
switch的判定里不能用long类型,你可以试试int,byte,char,short这些类型
作者: 万琪 时间: 2013-6-28 18:46
switch 只支持int,byte,char,shor,,1.7以后,,支持了string ,也算是模仿C#了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |