if(true)
System.out.println("one");
System.out.println("two);
System.out.println("three);
首先它似乎很奇怪,但它确实有效。我的问题只是为了澄清:如果我不使用代码块之后会受到影响;如果我在代码块内部使用代码块会受到影响 - 我是对的吗?还是有什么我不知道通过这个例子发生的事情?
答案 0 :(得分:9)
您的情况相当于:
if(true){
System.out.println("one");
}
System.out.println("two");
System.out.println("three");
并输出
one
two
three
if
语句执行运算符(在您的情况下,它只是System.out.println("one")
,紧跟在它后面。图括号({}
)也是运算符。例如:
if(false)
System.out.println("one");
System.out.println("two");
System.out.println("three");
/*output will be:
two
three
*/
//and in this case there will be no output
if(false){
System.out.println("one");
System.out.println("two");
System.out.println("three");
}
答案 1 :(得分:1)
在Java中如果可以用两种方式编写
if(true){
//statement 1
//statement 2
//statement 3
}
如果要执行多行,则必须使用块。如果你想使用单行,你可以使用out block。
if(true)
//statement 1
但是一行语句也可以用块写,它也可以用。
if(true){
//statment 1
}
与out block
相同答案 2 :(得分:0)
在Java(以及类似语言)中,单个语句相当于包含该单个语句的块。
答案 3 :(得分:0)
Java Language Specification for the if statement定义:
IfThenStatement:
if ( Expression ) Statement
声明进一步defined as:
Statement:
StatementWithoutTrailingSubstatement
<removed for brevity>
StatementWithoutTrailingSubstatement:
Block
<removed for brevity>
换句话说:if语句包含Statement
,它可以是Block
(括号中的语句列表)。