java程序忽略else if语句[NOOBIE]

时间:2016-04-19 09:15:09

标签: java

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语句?

5 个答案:

答案 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");
}