我是java编程新手,很难弄清楚这一点。
这是我的代码:
boolean running = true;
PANTS:
while (running) {
int waistMeasure = in.nextInt();
if (waistMeasure >= 26 && waistMeasure < 28){
System.out.println("You are a Small.");
break;
}
if (waistMeasure >= 28 && waistMeasure < 30){
System.out.println("You are a Medium.");
break;
}
if (waistMeasure >= 30 && waistMeasure <= 34){
System.out.println("You are a Large.");
break;
}
else {
System.out.println("Invalid input");
}
}
有没有办法将其转换为switch-case语句?
你是说这样的事吗?
请注意,您必须使用break
语句的PANTS
标签退出循环,否则它们将从开关中断,并将继续循环。
PANTS: for (;;) {
int waistMeasure = in.nextInt();
switch (waistMeasure) {
case 26:
case 27:
System.out.println("You are a Small.");
break PANTS;
case 28:
case 29:
System.out.println("You are a Medium.");
break PANTS;
case 30:
case 31:
case 32:
case 33:
case 34:
System.out.println("You are a Large.");
break PANTS;
default:
System.out.println("Invalid input");
}
}
switch (waistMeasure) {
case 26:
case 27:
System.out.println("You are a Small.");
break PANTS;
case 28:
case 29:
System.out.println("You are a Medium.");
break PANTS;
case 30:
case 31:
case 32:
case 33:
case 34:
System.out.println("You are a Large.");
break PANTS;
default
System.out.println("Invalid input");
}
是的,有–但您必须为每个值创建一个大小写(如下所示)。不能用单个大小写来表示一系列值。因此,如果您想要可读和可维护的代码,您应该坚持使用if。
switch (waistMeasure) {
case 26:
case 27:
System.out.println("You are a Small.");
running = false;
break;
case 28:
case 29:
// ....
}
问题内容: 告诉我 少于3个分支的交换机效率低下,请改用if语句。 这是为什么?为什么是3?他们如何定义效率? 问题答案: 因为语句是使用两个特殊的JVM指令和编译的。在处理很多案例时它们很有用,但是当您只有很少的分支机构时,它们会导致开销。 相反,一条语句被编译为典型的 …链,这些链速度更快,但在长分支链中使用时需要更多的比较。 您可以通过查看字节码来看到差异,无论如何我都不担心这些问题,如果有
在java中是否可以将if语句转换为switch语句?
问题内容: 在Python中使用IF语句时,必须执行以下操作才能使“层叠”正常工作。 检查“等于”时,是否有办法使Python接受多个值?例如, 问题答案: if job in (“mechanic”, “tech”): print “awesome” elif job in (“tool”, “rock”): print “dolt” 括号中的值是一个元组。该运营商检查,看是否右手柄元组内的某处
我试着比较两个值 我得到一个错误
我有一个if else语句,它可能会在不久的将来增长。 因为,这看起来已经很乱了,我想如果我能在这里应用任何设计模式会更好。我研究了战略模式,但我不确定这是否会降低其他条件。有什么建议吗?
if 语句,就是类似于「如果○○的话,做●●」,根据条件判断脚本的一部分是否执行的语法。 语法如下: if(expression) 语句或语句块 else 语句或语句块 第一个“语句或语句块”是当 expression 表达式的结果为真时执行的部分,第二个“语句或语句块”则是结果为假时执行的部分。如果不需要 else 以后的部分,可以省略。 例: if(a==b) inform("a和b相等