有的时候 里面所有的 都归if管。只有条件为真的时候 才会执行。 没有的时候 只有下面的一句归if管, 也就是说 当只有一句的时候 大括号可以省略 其它的 没区别。 加大括号是表示满足小括号中条件时执行的。 而不加大括号,则表示默认的满足条件时,执行后面的第一句话。以分号结束。 例1:
-
public static void main(String[] args) {- //关于if语句带括号和不带括号的区别
- int i = 0
- //带括号的if语句
- if (i == 0) {
- System.out.println("if语句内的第一条语句");
- int x ;
- x = 10;
- System.out.println(x);
- }
- //带括号的语句在if语句为true的时候,执行条件语句中的语句,否则,不执行。
- //不带括号的语句
- if(i == 0)
- System.out.println("if语句内的第一条语句");
- int x;
- x = 10;
- System.out.println(x);
- //以上语句中如果条件表达式是true,则只执行输出语句,而以下的语句在判断语句结束后继续执行,和if语句wuguan
- if(i == 0)
- int y = 1; //编译错误,因为该语句是两条 语句,即int y; y = 1;
- //总结:使用无括号的条件语句只能执行第一条语句,第一条语句必须是单条语句。
- }
例2: 简单点:有括号的话,if语句控制{}里面的所有语句,没括号的话,if语句只控制最近的一行。 如:if(a==ture) { System.out.println("Hello,黑马!我来了!"); System.out.println("Welcome"); } 当条件成立时,程序会读取括号里面的两条语句。当条件不成立时,两条语句都不会读取,直接跳出if()语句块内容。 if(a==ture) System.out.println("Hello,黑马!我来了!“); System.out.println("Welcome"); 如果没有大括号,if语句只控制System.out.println("Hello,黑马!我来了!"),当if条件成立的时候,程序会输出以上两句语句,当条件不成立的时候,程序只会输出System.out.println("Welcome")。 总结一下就是: 带大括号的语句根据if语句的规则在if语句为true的时候,执行大括号中的执行语句。若if语句为falut,则不执行。 不带括号的语句中如果if后的条件表达式是true,则只执行该if语句的下一条语句,且这条语句必须是单条语句。剩下的语句执行与否,与该if语句无关。