18<age<40
public class HelloWorld {
public static void main(String[] args) {
int age=25;
if(age>60){
System.out.println("老年");}
else if(age>40&&age<=60){
System.out.println("中年");}
else if(age>18&&age<=40){
System.out.println("少年");}
else{
System.out.println("童年");}
}
}
这个和表达式编译过程有关,你写的18<age<40其实是(18<age)<40。发现了吧,括号里执行后是一个Boolean的类型,再进行后续的<40运算就会出错了
语法即规则。跟着规则走就完事
应该要用逻辑运算符&&,至于为什么,语法吧?