java的If else 语句,有一个注意点:这里的分支语句序列如果只有一个语句,则不需要用大括号括起来;否则,分支中的所有语句都需要用大括 号括起,以便与分支之外的语句相区分。
我不太理解这个不需要用大括号扩起来,难道不都应该扩起来吗??养成的习惯了,谁可以解释一下。
if后面有两条或者两条以上的称为复合语句,需要用花括号括起来,不然程序不知道第二个是不是if里的,所以不会执行,当遇到if else 如果不用花括号括起来,则或报错,原因就是第二个不在if条件体里面,属于单独的一行代码,而else又必须上一个是if条件句,如果不是则报错
不过有一点你可以牢记不管单行多行,统统使用{}括起来不会报错,以后你遇到if后面单行不加{}的意思就可以了
包裹在大括号{}中的多条语句称之为复合语句,复合语句可以被看成是一个整体,当作一条语句来处理。
其实if()语句和for()语句都只能影响其后的一条语句,但是这一条语句可以是一个复合语句。这就变相的影响了多条语句。
就是说if()之后的大括号{}的作用只是把里面的多条语句打包成一个复合语句,让if()把这个复合语句当作一条语句来处理。
如果{}中只有一条语句就不需要打包成复合语句了,if()直接对这一条语句处理就行了。
1、if语句后面如果没有大括号,系统只会把后面的一条语句当做是if语句内部的语句;
2、如果有大括号,则认为大括号内部所有的语句都是if内部的语句;
3、不仅仅if语句是这样,所有的复合语句都是这样,如循环(for,while)语句等。
if(true)
System.out.println("无需大括号,因为只有一行")
if(true){
System.out.println("也可以有大括号,规范点")
}
if(true){
System.out.println("多条语句一定要加大括号")
System.out.println("多条语句一定要加大括号")
System.out.println("多条语句一定要加大括号")
}