Java条件语句之多重 if

来源:4-3 Java条件语句之多重 if

慕圣3364780

2017-07-29 20:10

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就可以了,是这样理解的么

写回答 关注

3回答

  • 岁月长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 就可以了

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165501 学习 · 17585 问题

查看课程

相似问题