如何在for循环之外使用变量

时间:2015-03-06 01:28:54

标签: java

我试图将多个字符串转换为整数,然后在for循环之外打印使用它们中的每一个。

这是我的for循环:

for (int i = 0; i < parts.length; i++) {
    int p1 = Integer.parseInt(parts[i]);
}

3 个答案:

答案 0 :(得分:3)

如果您希望能够访问循环后正在解析的所有整数:

int[] pValues = new int[parts.length];
for (int i = 0; i < parts.length; i++) {
    pValues[i] = Integer.parseInt(parts[i]);
}

// at this point you still have access to the pValues array

答案 1 :(得分:1)

为了使用for循环之外的任何东西(或任何其他范围),您必须在您希望使用它的范围内声明该变量:

int p1 = -1;
for (int i = 0; i < parts.length; i++) {
    p1 = Integer.parseInt(parts[i]);
}

请注意,在如上所述的情况下,循环设置单个值,一个非常常见的事情是在设置值后立即中断循环。显然,应该有条件地设置值,否则循环的目的将被打败:

int p1 = -1;
for (int i = 0; i < parts.length; i++) {
    if (someCondition()) {
        p1 = Integer.parseInt(parts[i]);
        break;
    }
}

答案 2 :(得分:0)

在循环内创建的任何变量都是LOCAL TO LOOP。这意味着一旦退出循环,就无法再访问该变量!这包括在循环签名中创建的任何变量。

了解详情:http://www.java-made-easy.com/variable-scope.html#ixzz3TZ6obLXK

 int secondp1 = 0;   // Define your variable outside your loop

    for (int i = 0; i < parts.length; i++) {
            secondp1 = Integer.parseInt(parts[i]);
        }

    //so you can use it here.
    System.out.println(secondp1 );

您可以查看this以查看变量范围和生命周期。

相关问题