The Java specification says that an if-then-else
statement is of the following form:
IfThenElseStatement:
if ( Expression ) StatementNoShortIf else Statement
Where Statement
and StatementNoShortIf
can be various things including blocks (code surrounded with braces), assignments (to already declared variables), other if statements etc.
Of note is that declaration statements (e.g. int a;
or int a = 10;
) are missing from that list, thus you get a compilation error.
For the full list, you can read the Java specification here:
http://docs.oracle.com/javase/specs/