public class IfElseIf {
/**operators for if statements
* Less than (<)
* Greater Than (>)
* Less than or Equal To (<=)
* Greater Than or Equal To (>=)
* And (&&)
* Not (!)
* Or (||)
* Has the value (==)
*/
public static void main(String[] args) {
int user = 50;
if (user <= 21){
System.out.println("User is 21 or younger.");
}
else if (user > 21 && user < 60){
System.out.println("User is between 21 and 59.");
//you can have as many else if statements as you want.
}
else if (user == 50 || user == 55){
System.out.println("User is either 50 or 55");
}
else {
System.out.println("User is older than 60");
}/**else signifies that any value outside of the
*parameters set should show this message.
*/
}
}
我是Java新手我正在努力学习java。这是我学习如何编码的第一天。我正在尝试运行此程序,以便它将显示第二个if语句的消息,但是当我通过将用户变量更改为55来运行程序时,它仍然显示第一个else if语句的消息。为什么忽略第二个if if语句?
答案 0 :(得分:0)
因为条件语句在找到第一个匹配时立即停止。
因此,第二个if else
涵盖范围从22到59。
答案 1 :(得分:0)
使用if-else
语句时,第一个语句为true,而其他语句被忽略(即使它们也可能为真)。
值为“55”时,第一个ele-if
语句(user > 21 && user < 60)
为真(21 <55 <60),这就是它被执行的原因。
如果您想(强制)检查第二个条件,您可以将else-if
更改为简单的if
,这样就可以重新启动新的if-else
“周期”。< / p>
答案 2 :(得分:0)
在您的代码中,
“否则if(用户&gt; 21&amp;&amp; user&lt; 60)”
当你使用user = 55时,首先满足条件。所以,如果条件将被跳过,则接下来。
答案 3 :(得分:0)
你的其他if块的顺序很重要。因为55是> 21和&lt; 60,第一个if if块被执行,程序退出你的其他if语句。所以第二个是进入。把它放在“else if(用户&gt; 21&amp;&amp; user&lt; 60){”之前,它将按预期工作。
答案 4 :(得分:0)
对于值55,下面的条件总是被满足,因此即使它成立,它也不会进入下一个else-if语句。
else if (user > 21 && user < 60){
System.out.println("User is between 21 and 59.");
//you can have as many else if statements as you want.
}
如果您撤消订单,它将按预期工作。
else if (user == 50 || user == 55){
System.out.println("User is either 50 or 55");
}
else if (user > 21 && user < 60){
System.out.println("User is between 21 and 59.");
//you can have as many else if statements as you want.
}
您也可以按如下所示进行修改:
else if (user > 21 && user < 50){
System.out.println("User is between 21 and 49.");
//you can have as many else if statements as you want.
}
else if (user == 50 || user == 55){
System.out.println("User is either 50 or 55");
}
else if (user >50 && user< 55){
System.out.println("User is between 51 to 54");
}
else
{
System.out.println("User is older than 55");
}