在for循环中创建临时变量

Per*_*ert 1 java for-loop arraylist

我有一个for循环,旨在为arraylist添加6个值.

ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = list.size(); i < list.size() + 6; i++){
    list.add(2 * i);
}
Run Code Online (Sandbox Code Playgroud)

现在这产生了一个无限循环.我的问题是我是否可以声明一个在整个for循环中持续存在的变量,那不是i或者我必须在循环之前声明它吗?如果我可以将它嵌入for循环中,我会把它放在哪里?

khe*_*ood 5

如果要在for语句中声明限制变量,可以这样做:

ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = list.size(), n = list.size()+6; i < n; ++i) {
    list.add(2 * i);
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,由于您刚刚创建了列表,list.size()从零开始,因此您可以省略额外的变量并只写:

for (int i = 0; i < 6; ++i) {
    list.add(2 * i);
}
Run Code Online (Sandbox Code Playgroud)