时代风云
2016-10-13 14:10
int age = 65; if (age > 60){ System.out.println("老年"); }if (age > 40){ System.out.println("中年"); }else if(age > 30){ System.out.println("青年"); }else if (age >= 18){ System.out.println("少年"); }else if (age < 18){ System.out.println("童年");
输出的结果为:
老年
中年
为什么会输出两个结果呢?不是执行完第一个条件就不会在执行以下的条件了吗?
第二个if前面少了else,不然两个if是并排判断的,65满足前两行判断条件,所以会输出两个结果
int age = 65;
if (age > 60){
System.out.println("老年");
}else if (age > 40){
System.out.println("中年");
}else if(age > 30){
System.out.println("青年");
}else if (age >= 18){
System.out.println("少年");
}else {
System.out.println("童年");
}
这样写就对了,你的if 语法错了;
这个是嵌套if啊,第一个条件符合了,然后再判断第二个,第二个符合也打印,下面的为else,所以下面不执行
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题