java为什么我的for循环告诉我语法错误,插入“AssignmentOperator Expression”?
我有一些代码,比如:
int batchPosition = new Integer(batchBegin);
for (batchPosition;batchPosition<=batchEnd;batchPosition++)
但我在eclipse中遇到了一个错误:
Syntax error, insert "AssignmentOperator Expression" to complete ForInit.
我看了很多关于这个错误的帖子,用谷歌搜索了一下,但我不明白为什么这是不允许的
# 1 楼答案
出于某种原因,Java或Eclipse(或Word)不喜欢循环的这一部分:
它希望用于计算循环中的位置(batchPosition)的变量在循环头中初始化(first;o仅当;repeat)部分。)我猜这是因为我希望它只是循环的局部
要修复此问题,只需将分配移到标题中,如下所示:
虽然没那么漂亮,但会管用的
# 2 楼答案
batchPosition
本身不是有效的初始化语句-您可以直接跳过它:但是,如果在循环之后不需要访问
batchPosition
,最好尽量减少变量的作用域:# 3 楼答案
for
循环包含4个执行部分:初始化、条件、执行体、增量或减量
你错过了初始化部分
要么在
for
你已经初始化之前忽略它或者
将
for
之前的行移动到for
内部但是,在后一种情况下,您将无法在
for
范围之外使用batchPosition