为什么我的for循环告诉我语法错误,插入"AssignmentOperator Expression"?

Pur*_*ret 0 java for-loop assignment-operator

我有一些代码,如下:

int batchPosition = new Integer(batchBegin);

for (batchPosition;batchPosition<=batchEnd;batchPosition++)
Run Code Online (Sandbox Code Playgroud)

但我在eclipse中得到了这个错误:

Syntax error, insert "AssignmentOperator Expression" to complete ForInit.
Run Code Online (Sandbox Code Playgroud)

我已经看过关于这个错误的关于SO的各种帖子,并用谷歌搜索但我无法弄清楚为什么不允许这样做.

ass*_*ias 5

batchPosition 它本身不是一个有效的初始化声明 - 你可以简单地跳过它:

int batchPosition = new Integer(batchBegin);

for (; batchPosition <= batchEnd; batchPosition++)
Run Code Online (Sandbox Code Playgroud)

但是如果batchPosition在循环之后不需要访问,那么最好尽可能减少变量范围:

for (int batchPosition = new Integer(batchBegin); batchPosition <= batchEnd; batchPosition++)
Run Code Online (Sandbox Code Playgroud)