作为 Java SE 12 的一部分,引入了switch表达式,并且从 Java SE 14 开始,它们已经标准化。它们与switch陈述有何不同?
这是我的代码:
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语句,但我想知道这是否可以通过一个开关.
我正在尝试简化Card类,我想知道是否有任何方法可以在switch语句中使用一系列值?
考虑:
if((card<14))
suit="Hearts";
else
if((card>14)&&(card<27))
suit="Clubs";
etc.
Run Code Online (Sandbox Code Playgroud)
相反,我想使用switch语句,例如:
switch(card){
case1: through case13:
suit="Hearts";
break;
etc.
Run Code Online (Sandbox Code Playgroud)
我无法在Java教程中找到任何表明存在切换变化的内容.但是有吗?
我有一个问题,我想做三件事之一...如果x的值是1-5(包括)做A,如果x在6-13(含)之间做B,如果x是在14-16之间做C.
我认为开关盒可以正常,虽然我想我可以使用普通的IF/ELSE IF,但是,正如我编码的那样,我不禁想到有更优雅的方式来说明这个使用开关/盒子(以防我遇到类似的需求,有三个以上的选项).
这就是我所拥有的:
switch ( x ) {
case 1:case 2:case 3:case 4:case 5:
// DO A
break;
case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:
// DO B
break;
case 14:case 15:case 16:
// DO C
break;
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,有没有办法指定"之间"(包含或排他)?
谢谢
现金范围------------>税
5,000 - 30,000 --------> 700
30,001- 60,000 --------> 1,000
60,001 - 125,000 -------> 1,600
125,001 - 250,000 ---------> 3,000
250,001 - 500,000 --------> 5,000
500,001 - 1,000,000 ---------> 9,000
我如何以有效的方式实现这一点?如果我不想使用IF/Else怎么办?
我正在尝试编写一个JavaScript开关,用户从1-100输入一个数字,然后根据该数字的范围收到一条消息.这就是我到目前为止所写的内容.
我这样做是为了编程类的介绍,我不完全理解如何让它工作,我的问题是我无法弄清楚如何显示范围,即:1-25,
<script>
var number = prompt("Enter 1-100");
switch(number)
{
case 1-25:
document.write("1-25");
break;
case 26-50;
document.write("26-50");
break;
case 51-100:
document.write("51-75");
break;
case "4":
document.write("76-100");
break;
}
</script>
Run Code Online (Sandbox Code Playgroud) 我正在学习java,我遇到带有表达式的switch-case语句有问题.有谁可以帮助我吗?我无法理解我犯错误的地方.
package SecondSet_StartingArray;
import java.util.Scanner;
public class Testing
{
public static void main(String[] args) {
System.out.println("Enter a Number between 1 & 100");
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
switch (i)
{
case (i>90): System.out.println("Rating 5");break;
case (i<=90): System.out.println("Rating 4");break;
case (i<=60): System.out.println("Rating 3");break;
case(i<=30): System.out.println("Rating 2");break;
case(i>29): System.out.println("Rating 1");break;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一大块代码需要确定给定的整数是否在一组其他整数之间.我还希望在案例陈述中提到这一点,以便在任何地方都没有多余的if..else陈述.这是一些代码:
switch (copies) {
case copies >= 0 && copies <= 99: copyPrice = 0.30; break;
case copies >= 100 && copies <= 499: copyPrice = 0.28; break;
case copies >= 500 && copies <= 749: copyPrice = 0.27; break;
case copies >= 750 && copies <= 1000: copyPrice = 0.26; break;
case copies > 1000: copies = 0.25; break;
}
Run Code Online (Sandbox Code Playgroud)
where copies是一个整数,copyPrice是一个double.我得到几个错误,说它希望收到一个整数,但得到一个布尔值.设置它的最佳(或最佳)方法是什么?任何帮助是极大的赞赏!
我有一个问题我不知道什么放在案件部分,当用户从0-100输入他们的成绩有输出对应他们的成绩失败,良好,非常好,非常好.
import java.util.Scanner;
public class ProgTestI {
public static void main (String args[]){
Scanner pao = new Scanner(System.in);
System.out.print("Grades: ");
String grades = pao.next();
int grado = Integer.parseInt(grades);
switch (grado){
case =<74: /* iwant to put 0 to 74*/
System.out.println("Failed");
case : /* 75-80*/
System.out.println("bellow average");
case : /*81-85*/
System.out.println("average");
case : /*86-90*/
System.out.println("Good");
case : /*91-96*/
System.out.println("VeryGood");
default:
}
}
}
Run Code Online (Sandbox Code Playgroud) 我最近开始学习Java。我的老师给了我们这份作业,内容是关于编写If-Else下面的Switch-Case语句代码并将其转换为语句代码。我If-Else正确编写了该语句代码,但其中Switch-Case一个似乎有一些错误。我越早得到答案越好。谢谢。
我要转换的内容:
int x;
System.out.println("type in a mark to see what grade it is");
Scanner input = new Scanner(System.in);
x = input.nextInt();
if (x >= 90 && x <= 100) {
System.out.println("A");
}
if (x >= 80 && x < 90) {
System.out.println("B");
}
if (x >= 70 && x < 80) {
System.out.println("C");
}
if (x >= 60 && x < 70) {
System.out.println("D");
}
if (x >= 50 && x …Run Code Online (Sandbox Code Playgroud) 我需要为我可以使用的范围值实现switch语句,否则我认为switch的性能会更好.
我有一个要求,如果变量的值在1-150之间,我将处理我的逻辑.如果变量的值在150-300之间,那么一些其他逻辑和if范围是300-450然后是一些不同的逻辑,依此类推.
所以我在这种情况下如何使用开关,因为我通常使用具有固定值的开关.提前致谢.
我需要将平均分数与字母等级相匹配。那意味着
if (90 < avg && avg < 100) {
return 'A';
}
Run Code Online (Sandbox Code Playgroud)
依此类推,直到带有5个if-else语句的'F'。
这是很多重复,并且我要匹配的范围具有相同的长度。
有没有更有效的方法可以做到这一点?我不想重复if-else语句5次。
java ×10
range ×3
if-statement ×2
integer ×2
boolean ×1
case ×1
coldfusion ×1
java-14 ×1
javascript ×1