在java中的for循环外打印i的值

我试图打印/获取循环变量i的值,并在for循环外的另一个方法中使用它。 我怎么做?

public void mousePressed() { for (int i = 0; i < 1000; i++){ boxes[i].openIt(); } } 

for语句中声明的变量仅在for组件和以下代码块的范围内,请参阅JLS第14.14.1.1节 ,特别是:

 for ( ForInit ; Expression ; ForUpdate ) Statement 

如果ForInit代码是局部变量声明,则执行它就好像它是一个块中出现的局部变量声明语句(第14.4节)。

如果您希望在for之外使用它,则必须在要访问它的位置中处于活动状态的范围内声明它; 例如就在for循环之外:

 int i; for (i = 0; i < 1000; ++ i) ; // i is accessible in this scope System.out.println(i); 

或者,如果更合适,您可以声明一个单独的变量并将感兴趣的值存储在其中:

 int k = ...; for (int i = 0; i < 1000; ++ i) if (condition) // for example k = i; // k is accessible in this scope, i is not System.out.println(k); 

有关摘要,请参阅此页面 ,特别是最后的Loop Scope示例,其中有一个与您的问题完全相同的示例。

根据定义,您不能只在此循环中使用j的值。 但是当然你可以在for循环之外声明一个变量并将它分配给循环中的某个东西。 你想要的确是什么价值? 由于你的计数器j的值总是相同的。