java version “11.0.2” 2019-01-15 LTS
Java™ SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot™ 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
本次测试的Java版本是11.0.2
switch不可以进行逻辑判断,if可以进行逻辑判断
我们看下switch括号里面可以放入哪些类型的数据?
Incompatible types. Found: 'boolean', required: 'char, byte, short, int, Character, Byte, Short, Integer, String, or an enum
如果遇到如下的逻辑判断,switch就无法起作用了只能使用if:
if(A>B){} else{}
总结
if可以取代switch但是效率较低
switch适合对常量进行判断,无法对逻辑进行判断(赋值操作中含有逻辑判断是可以的比如 switch(a=1>2?1:2),但是switch(a>=1)这样就无法编译了)