这是我的代码:
switch(age) {
case 10:
System.out.println("You are too young to drive.");
break;
case 20:
System.out.println("You can drive!");
break;
default:
System.out.println("Error");
}
Run Code Online (Sandbox Code Playgroud)
如果年龄是15岁会怎么样?好吧,它给了我一个错误.所以我想知道是否有可能在案件中包含一个条件.例如,
case (age>=10 && age<=20):
System.out.println("You're still too young to drive...");
break;
Run Code Online (Sandbox Code Playgroud)
我可以使用if语句,但我想知道这是否可以通过一个开关.
case 需要一个常量表达式不,这是不可能的,因为case必须是一个恒定的表达.但你可以(正如你猜测的那样)使用if.从逻辑上讲,任何人20(假设法定年龄)都太小,不能开车.
final int drivingAge = 20;
if (age < drivingAge) {
System.out.printf("%d is too young to drive...%n", age);
} else {
System.out.printf("%d is old enough to drive.%n", age);
}
Run Code Online (Sandbox Code Playgroud)
这可以用? :条件运算符(也就是三元表达式 ; 注意有些人发现难以阅读的三元组)来编写
final int drivingAge = 20;
System.out.printf(age < drivingAge ? "%d is too young to drive...%n"
: "%d is old enough to drive.%n", age);
Run Code Online (Sandbox Code Playgroud)
由于跌倒,您可以这样做:
switch(age){
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
System.out.println("You are too young to drive.");
break;
case 20:
System.out.println("You can drive!");
break;
default:
System.out.println("Error");
}
Run Code Online (Sandbox Code Playgroud)
这是一个多一点的代码,但它完成了同样的事情。
| 归档时间: |
|
| 查看次数: |
18148 次 |
| 最近记录: |