Java嵌套if if switch语句

时间:2015-10-29 19:15:08

标签: java if-statement nested switch-statement

我无法将下面的嵌套if语句转换为等效的switch语句。如果有人能给我一些建议,我们将不胜感激。

if (num1 == 5)
    myChar = ‘A’;
else
if (num1 == 6 )
    myChar = ‘B’;
else
if (num1 = 7)
    myChar = ‘C’;
else
    myChar = ‘D’;

4 个答案:

答案 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总是5678,您就可以

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';
}