这是关于测验的问题。该问题询问在运行此代码时给出的输出。我不明白为什么没有输出。谁能解释一下?我对if / else的理解是,如果if语句失败,则else语句运行。为什么else语句没有运行?
代码:
int age = 10;
char registered = 'n';
if(age >= 18) {
if(registered == 'y') {
System.out.println("You can vote!");
}
else {
System.out.println("You're not old enough");}
}
答案 0 :(得分:11)
因为这是实际代码(正确缩进):
if (age >= 18) {
if (registered == 'y') {
System.out.println("You can vote!");
}
else {
System.out.println("You're not old enough");
}
}
age
小于18
,因此最外层的if
- 语句中没有任何内容被执行。
(我认为这是一个可怕的测验问题,说实话。它只不过是用括号括起来的技巧 - 它并不能真正测试你对Java的了解。)
答案 1 :(得分:0)
正确缩进代码,您会发现age < 18
没有任何反应。
答案 2 :(得分:0)
变量age的值为10,然后它不满足第一个if条件if(age> = 18),并且所有其余代码都在此条件的true分支内。