我听说某处的for循环的初始化部分中可以有任何有效的Java语句。
当我尝试编译此代码时,它给了我错误的表达式开始错误。虽然我期待无法到达的代码错误
可能是什么原因?
感谢
class A
{
public static void main(String args[]){
int x=1;
System.out.println("sds");
}
public int m1()
{
int x=1;
for(return 0;x==1;x++)
;
}
当然不能那样做!您一定听错了。 for循环的初始化可以包含变量声明或赋值语句,以逗号分隔,但不能包含return语句。
return语句根本没有意义[[any!您打算在for循环的initialization部分中编写initialization!显然,您无法使用return
初始化内容。因此,这是不允许的。
请记住,不要做没有意义的事情。
BasicForStatement:
for ( [ForInit] ; [Expression] ; [ForUpdate] ) Statement
[[ForInit]
定义为:
ForInit:
[ForInit]
StatementExpressionList
where
StatementExpressionList:
LocalVariableDeclaration
和
StatementExpression:
StatementExpression {, StatementExpression}
Assignment
PreIncrementExpression
PreDecrementExpression
PostIncrementExpression
PostDecrementExpression
MethodInvocation
请注意,ClassInstanceCreationExpression
不是允许的语句的一部分。