为什么不可以这么写

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

SingKa

2016-07-07 14:31

else if(40<age<=60){

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

}

 

写回答 关注

5回答

  • 再青春_以少年
    2016-07-07 14:53:36
    已采纳

    因为电脑是傻瓜式,只能根据已存在的语言格式判断是否正确:

    <与<=两边要是常量,不能是不确定的值。

    按照40<age,后面多了<=;按照age<=60,前面多了<.

    else if(40<age&&age<=60){

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

    }


  • 木刻雪原
    2016-07-09 05:31:26

    楼上正解,40<age<=60,按照优先级是先算40<age,按照原文返回的应该是false,再算false<=60,类型不同,无法计算,报错!!!

    你可以做一下实验:System.out.println(40<age);打印出来的是啥,我已经做过试验了,你自己可以体会一下;

  • 慕粉3551836
    2016-07-07 17:13:36

    40<age<=60这个是数学的逻辑表达,java只能写成40<age&&age<=60这样的,我觉得应该是前面比较了之后得到的是布尔类型的,然后跟一个int类型的作比较,类型不一样,肯定报错了。

  • qq_191_0
    2016-07-07 14:55:33

    不太清楚,不过没必要40<age<=60,改成age<=60,后面再加else if(age<=40)就可以达到一样的效果了

  • 想不出好昵称
    2016-07-07 14:46:10

    else if(age>40 && age<=60) {     //规范

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

    }



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

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

1165172 学习 · 17581 问题

查看课程

相似问题