为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不可以这么写

else if(40<age<=60){

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

}

 

正在回答

5 回答

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

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

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

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

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

}


1 回复 有任何疑惑可以回复我~

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

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

1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

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

}



0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165458    人
  • 解答问题       17585    个

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

进入课程

为什么不可以这么写

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信