我无法将下面的嵌套if语句转换为等效的switch语句。如果有人能给我一些建议,我们将不胜感激。
if (num1 == 5)
myChar = ‘A’;
else
if (num1 == 6 )
myChar = ‘B’;
else
if (num1 = 7)
myChar = ‘C’;
else
myChar = ‘D’;
答案 0 :(得分:2)
非常简单,只需将数字用作您要打开的内容即可。您的else
案例将成为default
案例。
switch (num1) {
case 5:
myChar = 'A';
break;
case 6:
myChar = 'B';
break;
case 7:
myChar = 'C';
break;
default:
myChar = 'D';
break;
}
答案 1 :(得分:1)
有关详细信息,请阅读文档:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
switch(num1){
case 5:
myChar = ‘A’;
break;
case 6:
myChar = ‘B’;
break;
case 7:
myChar = ‘C’;
break;
default:
myChar = ‘D’;
}
答案 2 :(得分:1)
如果值遵循这样的简单模式,则根本不需要switch
。例如,您可以
myChar = num1 >= 5 && num1 <= 7 ? (char) ('A' + num1 - 5) : 'D';
如果num1
总是5
,6
,7
或8
,您就可以
myChar = (char) ('A' + num1 - 5);
答案 3 :(得分:0)
在JDK 12中,扩展开关将允许您直接将char值分配给该开关。这样构造您的开关:
char myChar = switch(num1) {
case 5 -> 'A';
case 6 -> 'B';
case 7 -> 'C';
default -> 'D';
}