问答详情
源自:4-3 Java条件语句之多重 if

Java条件语句之多重 if

int age=17;

                if(age>60){System.out.printf("老年");}

                else if (age>=40){System.out.printf("中年");}

                else if (age>18&&age<40){System.out.printf("少年");}

                else {System.out.printf("童年");}

本来我想的这样age>18&&age<40,但是后来想了下,程序肯定是一层一层判断的,从上到下,所以age>18&&age<40写成age>18就可以了,是这样理解的么

提问者:慕圣3364780 2017-07-29 20:10

个回答

  • 岁月长ch
    2017-07-29 21:12:01

    可以的,if是满足条件做循环语句,做完就跳过else。你这里,if(age>=40){},这是说age>=40才会输出中年,如果age<40,那么就进入else if(age>18)这条语句,也就是说这里已经判断出age不满足上面的判断内容。

  • 慕粉093032477
    2017-07-29 20:28:44

    if...else语句中,当不满足if条件的时候,进入case条件。

    拿你的例子来说,当age不大于60的时候,才进入else,说明进入else循环的必要条件是小于60,所以在第一个else if中,只写年龄大于等于40岁,即可输出“中年”。以此类推,进入第二个else if的必要条件是年龄小于40岁,所以只要写age>=18,即可输出“少年。

  • 慕先生3698625
    2017-07-29 20:23:25

    可以这么理解,因为当你执行else if (age>18){System.out.printf("少年");}的时候,else就说明上一个条件不成立,也就是age>= 40不成立,所以age>18&&age<40写成age>18 就可以了