java中if while和for有花括号和没花括号的区别在哪

我想知道除了可读性之外还有什么区别 比如作用域之类的
最后能详细讲 谢谢了!!!

有花括号,作用域就是花括号包围的区域,没有花括号就是下一行(第一个分号前)
if(true) //作用域begin
a = b;//作用域end

if(true){//作用域begin
....

....

}//作用域end
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-14
看if后面有几句,如果只有一句,不用{},但是有多句的时候必须用{}。
if(true) xxx;
if(true) {
xxx;

yyy;

}
第2个回答  2015-08-14
if a>0
a++;

这样是没有问题的
if a>0{
a++;

b++;

}
如果下面要执行的语句多余一行就一定要{ }了。
第3个回答  2015-08-14
举个例子:
if(1>2){
System.out.println("1111");
System.out.println("2222");
}
输出结果:
(无输出)
有大括号的作用域为里面所有语句。

if(1>2)
System.out.println("1111");
System.out.println("2222");
输出结果:
222
没大括号的作用域仅为第一句;追问

为什么没花括号的时候只输出222 而不输出111呢

本回答被提问者和网友采纳
相似回答