首先谢谢各位的热心帮助,我在论坛里找了一下类似问题,差不多明白了,跟大家分享。
1. && ||这是逻辑运算符,他们是boolean他们所得的结果是boolean类型的true或false,而不是你想象中的那种3或者4或者5的感觉。case后面要跟着常量表达式,所以不行。而且好像在||两边也不能是int类型数据。
2. switch中没有break;的部分顺序执行,有则作用是中断退出,传入的number值与case的值对比,这个值一般有确定的数值、常量。
3. case 穿透问题:switch 循环只在遇到两种情况结束:break , } 。如果如果执行了一个case语句或default之后 未到结尾的大括号,也没有遇到break,则会继续执行下面的语句,但不会判断case和default条件了,直到遇到break或右大括号,才会跳出循环。 循环中语句部分顺序,default语句可以放在任意处,但是先判断case语句。
判断类型:switch 语句,只能判断byte/short/int/char类型,对于区间和boolean 类型无法判断,解决办法,可以先用数值代替区间或boolean 值。实际开发中,几种判断语句,根据情况选择最适合的。另外,5.0以后 可以判断枚举类型,7.0判断字符串。
一般判断的输值不多,属于byte/short/int/char类型用switch,区间或boolean类型用if 语句。
|