黑马程序员技术交流社区

标题: 关于键盘录入和switch [打印本页]

作者: chenxin_0916    时间: 2015-12-24 00:27
标题: 关于键盘录入和switch
键盘录入数据可不可以直接将获取值写在switch()里面
switch(int x = sc.nextInt()){
         case 1
....................................
}
这样写可不可以?
作者: lxg8136223    时间: 2015-12-24 13:01
不可以,Swich语句中只能是常量,你这个是变量,没有确定的数据不行。
作者: 隔壁老猫    时间: 2015-12-24 16:29
楼上说得对
作者: luyang18    时间: 2015-12-24 17:38
1楼解析得不错
作者: Robber    时间: 2015-12-25 00:29
将你的要问的代码在敲了一边,运行了一下,两张图片可以进行对比一下,在java中switch()语句中()内的只能是常量,字符,字符串(jdk6以后的版本)。
因为x是一个int类型的变量,所以这是会出错的。

捕获1.JPG (143.61 KB, 下载次数: 91)

捕获1.JPG

捕获2.JPG (81 KB, 下载次数: 78)

捕获2.JPG

作者: 唐洪超    时间: 2015-12-26 00:12
不可以,switch里填写的是一个常量,
作者: Zrz_K    时间: 2015-12-26 22:54
今天我也在纳闷这知识点呢,学到了~
作者: houbofly    时间: 2015-12-26 22:58
不可以阿啊啊啊
作者: 549208564    时间: 2015-12-29 13:35
如果只想得到输入的值进入相应的判断,而不得到值可以这样:
switch(sc.nextInt()){
          case 1
....................................
}
不定义变量接收是可以的
作者: NUMONE    时间: 2015-12-29 21:55
public static void main(String[] args) {
                int x;
                Scanner sc=new Scanner(System.in);
                switch(x = sc.nextInt()){
        case 1: System.out.println("1");
                }
        }
作者: NUMONE    时间: 2015-12-29 21:57
可以使用变量
作者: NUMONE    时间: 2015-12-29 22:02
switch语句小结
http://bbs.itheima.com/thread-253780-1-1.html
(出处: 黑马程序员IT技术论坛)

作者: longllch    时间: 2015-12-30 13:25
这样写不可以,switch()中的值是一个基本数据类型或者String,ENUM类型的数据,而你写的一个Java语句,很明显会报错,你可以这样写:int i = sc.nextInt();
switch (i){
}

作者: 李永佳    时间: 2015-12-30 14:59
你在里边谢了一天语句,你说能不能行
作者: Mr.zhao    时间: 2015-12-30 15:11
来瞅瞅,10楼的链接里有总结




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