开关语法差异
Syntax on Switch Discrepancies
根据 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'");
}
}
}
如果我 select 1 它选择情况 1。如果我 select 2 选择情况 2。它实际上不会测试 x = 4 和 x = 5。我是如果有任何区别,请使用 Eclipse。我做错了什么?
x = 4
不是 switch 语句中的 case,它是一个赋值。
如果您想要 x == 4
的案例,您将需要在 switch 语句中使用 case 4:
。
根据 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'");
}
}
}
如果我 select 1 它选择情况 1。如果我 select 2 选择情况 2。它实际上不会测试 x = 4 和 x = 5。我是如果有任何区别,请使用 Eclipse。我做错了什么?
x = 4
不是 switch 语句中的 case,它是一个赋值。
如果您想要 x == 4
的案例,您将需要在 switch 语句中使用 case 4:
。