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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© king2042 中级黑马   /  2014-3-2 19:59  /  3513 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

switch语句中case后的数值中加入逻辑运算'|',为什么不可行呢?零基础求教

(141.06 KB, 下载次数: 321)

用“或"为什么这个句子失效了

用“或"为什么这个句子失效了

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

10 个回复

倒序浏览
case 代表某一种情况,当你写的case1,情况不满足时,就会自动查看下一个case,case2.。不能加入或者运算符.想你这样多种情况,执行同一代码,可以
case 1:
case2:
操作代码
   这样写,简便。

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
在Switch语句中无法使用或运算符的,像这种情况你可以写成多个case共用一个输出语句
例如:
         case 1:
         case 2:
                  System.out.println("春天");
这样代表1,2月份都属于春天

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
追逐 发表于 2014-3-2 20:43
在Switch语句中无法使用或运算符的,像这种情况你可以写成多个case共用一个输出语句
例如:
         case  ...

可为什么可以编译呢?再者这个case无法判断逻辑运算符,是约定俗成的,还是怎么呢?
回复 使用道具 举报
king2042 发表于 2014-3-2 21:24
可为什么可以编译呢?再者这个case无法判断逻辑运算符,是约定俗成的,还是怎么呢? ...

应该是约定俗成的,反正在我的记忆力学习过程中Switch语句中从来没有使用过逻辑运算符
回复 使用道具 举报
追逐 发表于 2014-3-3 07:53
应该是约定俗成的,反正在我的记忆力学习过程中Switch语句中从来没有使用过逻辑运算符 ...

哦,谢谢啦
回复 使用道具 举报

不用客气,相互探讨吗
回复 使用道具 举报
我以前也试过 不行 case中没法判断 逻辑运算符的
回复 使用道具 举报
我测试了一下,你直接使用case语句,代替|,这样读起来也简便一些。分析出来就不会那么容易出问题。
回复 使用道具 举报
"||"这个二元运算符的结果应该是true或false,这个用在case中是不合适的。
回复 使用道具 举报
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马