else if(40<age<=60){
System.out.println("中年");
}
因为电脑是傻瓜式,只能根据已存在的语言格式判断是否正确:
<与<=两边要是常量,不能是不确定的值。
按照40<age,后面多了<=;按照age<=60,前面多了<.
else if(40<age&&age<=60){
System.out.println("中年");
}
楼上正解,40<age<=60,按照优先级是先算40<age,按照原文返回的应该是false,再算false<=60,类型不同,无法计算,报错!!!
你可以做一下实验:System.out.println(40<age);打印出来的是啥,我已经做过试验了,你自己可以体会一下;
40<age<=60这个是数学的逻辑表达,java只能写成40<age&&age<=60这样的,我觉得应该是前面比较了之后得到的是布尔类型的,然后跟一个int类型的作比较,类型不一样,肯定报错了。
不太清楚,不过没必要40<age<=60,改成age<=60,后面再加else if(age<=40)就可以达到一样的效果了
else if(age>40 && age<=60) { //规范
System.out.println("中年");
}