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

if(40<age<60)这样写为什么不行?

public class HelloWorld {

    public static void main(String[] args) {

int age=25;

if (age > 60){

   System.out.println("老年");

}else if(40<age<60){

   System.out.println("中年");

}else if(age>18 && age<40){

   System.out.println("少年");

}else if(age<18){

   System.out.println("童年");

}



提问者:慕九州4223353 2017-09-03 22:42

个回答

  • 宝慕林5385597
    2017-09-03 23:00:10
    已采纳

    计算机识别不了连续的大小比较的,再说你的一个if写了大于60,紧接着的else if里面直接写大于40就行! 

  • 追梦之路lzj
    2017-09-15 21:39:40

    你的程序还有一个问题,就是if 与else的对应关系,最后一个应该是else.

  • 鬼鬼qiang
    2017-09-05 09:28:03

    没必要这样转牛角尖。你这样就像是大街上,人家穿鞋走路很正常,而你非要赤脚走路而且感觉没毛病的那种。

  • 小小咸鱼
    2017-09-03 23:06:20

    那个位置的if如果大于60,程序就还是执行上段,if>40 相当于就表达了在40到60之间,而且if语句好像没有这种在范围的写法。

  • C1ealove3913702
    2017-09-03 23:03:16

    因为if语句是boolean,而age的定义是int,改成40 < age && age< 60就可以了。