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

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

慕九州4223353

2017-09-03 22:42

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("童年");

}



写回答 关注

5回答

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

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

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

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

    慕仙3315... 回复慕九州422...

    Java中可以不配对

    2019-06-25 21:11:41

    共 2 条回复 >

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

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

    慕九州422...

    哈哈,发现错误得及时解决。

    2017-09-05 09:29:53

    共 1 条回复 >

  • 小小咸鱼
    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就可以了。

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

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

1165172 学习 · 17581 问题

查看课程

相似问题