代码如下:
class Test{
public static void main(String in[]){
if(1>0)
String s = "";
}
}
以上代码编译不能通过。但是把声明语句放到大括号中是可以的。
具体的原因是if后面必须跟一个语句,而单独的赋值语句不是一个语句。
JSL中的定义如下:
The IfThenStatement is defined like this:
IfThenStatement:
if ( Expression ) Statement
And Statement is defined like this:
Statement:
StatementWithoutTrailingSubstatement
LabeledStatement
IfThenStatement
IfThenElseStatement
WhileStatement
ForStatement
StatementWithoutTrailingSubstatement:
Block
EmptyStatement
ExpressionStatement
AssertStatement
SwitchStatement
DoStatement
BreakStatement
ContinueStatement
ReturnStatement
SynchronizedStatement
ThrowStatement
TryStatement