我一直在尝试自学一些java代码。我遇到了着名的嘶嘶声问题。我有一个问题,在最后一个if语句中输出是好的,如果它没有括在花括号中。将大括号内的语句包含在内的区别是什么? 编辑:输出大括号(嘶嘶声,嗡嗡声,嘶嘶声,嗡嗡声,嘶嘶声,嗡嗡声...) 输出没有大括号*正确答案(1,2,fizz,4,嗡嗡声,嘶嘶......)
boolean checker = true;
for (int i = 0; i < 100; i++){
if (i % 3 == 0){
System.out.print("Fizz");
checker = false;
}
if (i % 5 == 0){
System.out.print("Buzz");
checker = false;
}
if (checker) { // here is the code if curly brace is removed the output is fine
System.out.print(i);
checker = true;
System.out.print(",");
}
}
}
答案 0 :(得分:3)
当你使用 if,else或时,你不需要那里{}但它只会在if,else或for之后评估第一行。
if(condition)
//this line is affected by if block
//this is not
if(condition){
//all line in affected by if block
}
答案 1 :(得分:1)
它适用于你的原因是,假设你得到3可以被3整除,那么这意味着你将checker
变量设置为false,你永远不会进入if(checker)
条件块。
使用大括号,可以为if条件定义块或边界。因此,如果要在if条件中执行多个语句,可以使用大括号。默认情况下,如果您不提供大括号,那么只有在if将要执行之后的下一个语句。
注意:即使您在if中执行单个语句,我建议您使用大括号。
答案 2 :(得分:0)
没有括号,它将执行该条件的第一个语句。之后它停止使用条件。