关于number的Java switch语句

时间:2017-05-16 05:27:16

标签: java switch-statement

我有一个switch语句可以正常工作,但我觉得它格式化和冗余(许多情况都做同样的事情)。我怎样才能改善这个?

switch (number) {
    case 10: // do 1
        break;
    case 12: // do 2
        break;
    case 13: // do 1
        break;
    case 15: // do 3
        break;
    case 17: // do 2
        break;
    case 18: // do 2
        break;
}

4 个答案:

答案 0 :(得分:3)

我猜你可以将具有相同输出的案例分组在一起。这是改善这种情况的一种方法。

switch (number) {
    case 10:
    case 13:
        // do 1
        break;

    case 12:
    case 17:
    case 18:
        // do 2
        break;

    case 15: 
        // do 3
        break;
}

break;用于终止switch语句中的case。因此,当它们之间没有break;时,情况将具有相同的输出。

答案 1 :(得分:3)

你可以通过删除一些break语句来改进它,比如这个

switch (number) {
case 10: 
case 13: // do 1
    break;
case 12: 
case 17:
case 18: // do 2
    break;
case 15: // do 3
    break;
}

答案 2 :(得分:2)

你可以这样更紧凑:

print(a, end="")

在您的案例中不需要最后switch (number) { case 10: case 13: System.out.println("do 1 + " + number); break; case 12: case 17: case 18: System.out.println("do 2 + " + number); break; case 15: System.out.println("do 3 + " + number); break; } ,但无论如何都要采取良好做法进行防御性编程。

答案 3 :(得分:1)

您可以添加默认案例。当提供的情况不等于数字时,执行默认语句。代码:

int number = 0;
        switch (number) {
        case 10: // do 1
            break;
        case 12: // do 2
            break;
        case 13: // do 1
            break;
        case 15: // do 3
            break;
        case 17: // do 2
            break;
        case 18: // do 2
            break;
        default:
            System.out.println(number);
        }