java - Switch 差异的语法

标签 java switch-statement

根据 java 文档,switch 语句示例可能如下所示:

public class SwitchDemo {
    public static void main(String[] args) {

        int month = 8;
        String monthString;
        switch (month) {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            case 9:  monthString = "September";
                     break;
            case 10: monthString = "October";
                     break;
            case 11: monthString = "November";
                     break;
            case 12: monthString = "December";
                     break;
            default: monthString = "Invalid month";
                     break;
        }
        System.out.println(monthString);
    }
}

我写了一个测试程序:

导入java.util.Scanner;

public class Practice2 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int x = in.nextInt();
        switch (x)
        {
        case 1: x = 4;
            System.out.println("Hey");
            break;
        case 2: x = 5;
            System.out.println("You");
            break;
        default:
            System.out.println("as;ldfj'");
        }
    }
}

如果我选择 1,它会选择情况 1。如果我选​​择 2,它会选择情况 2。它实际上不会测试 x = 4 和 x = 5。如果这有什么区别,我正在使用 Eclipse。我做错了什么?

最佳答案

x = 4 不是 switch 语句中的 case,而是赋值。

如果您想要 x == 4 的情况,则需要在 switch 语句中使用 case 4:

关于java - Switch 差异的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534260/

相关文章:

java - 5000 毫秒后在 ImageView 中显示数组中的随机图像

java - 空 Toast 消息

java - 显示位置消息和发件人的 "null"

javascript - Onclick 事件未选择正确的开关选项

actionscript-3 - ActionScript - 在 switch 语句中使用 "is"比较?

java - 为什么这个 if 语句也没有按照我想要的方式执行?

java - Android 音频流 : anybody managed to make android-openmxplayer working?

C++ 帮助 : loops and switches

c - 嵌套案例、for 和 if 循环的优先级是什么?

c - C 中的 switch 函数可以处理所有情况