在Java中的Foreach循环外声明变量

萨米

有人可以启发我解决以下问题:

public class Loopy {
    public static void main(String[] args)
    {
        int[] myArray = {7, 6, 5, 4, 3, 2, 1};

        int counterOne; 
        for (counterOne = 0; counterOne < 5; counterOne++) {
            System.out.println(counterOne + " ");
        }
        System.out.println(counterOne + " ");

        int counterTwo = 0; 
        for (counterTwo : myArray) {
            System.out.println(counterTwo + " ");
        }

    }

}

在for循环中,我们counterOne在循环外部声明并在循环内部使用它。这是正确的,只要counterOne循环完成后我们不使用即可。

在foreach循环中,我们还在counterTwo循环外部声明,然后在循环内部使用它但是,在这种情况下会引发错误:

“线程“主”中的异常” java.lang.RuntimeException:无法编译的源代码-找不到符号symbol:类counterTwo位置:class package1.Loopy”

你能帮我理解为什么吗?

两者之间的唯一区别是,counterOne初始化为零,然后递增地分配值(小于5)。

在foreach循环中counterTwo,每个数组项都被分配一个。

如果我们在第二个for循环中进行此调整,则该程序将起作用:for(int counterTwo : myArray)而在两种情况下,第一个for都将起作用:

  1. 现有的
  2. for (counterOne = 0; counterOne < 5; counterOne++)
曼努蒂

Java语言规范的有关增强for循环的这一部分开始:

for语句的增强形式为:

EnhancedForStatement:

for ( {VariableModifier} UnannType VariableDeclaratorId : Expression ) Statement

EnhancedForStatementNoShortIf:

for ( {VariableModifier} UnannType VariableDeclaratorId : Expression ) StatementNoShortIf

请注意,循环中UnannType必须存在类型声明for因此,您应按以下方式编写循环:

for (int z : x) {

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在foreach循环外声明datarow?

来自分类Dev

foreach循环外的未定义变量

来自分类Dev

在Laravel的foreach循环外获取变量

来自分类Dev

循环声明数组中的变量?

来自分类Dev

Java“ while循环”变量在参数列表中声明

来自分类Dev

在Java中的循环内部重新声明变量

来自分类Dev

最好在循环内还是循环外声明临时变量?

来自分类Dev

在'for'循环中声明的Python变量在循环外看不到

来自分类Dev

如何使局部变量在Java中的循环外可访问

来自分类Dev

Java的声明迭代器外循环

来自分类Dev

foreach循环中的变量在循环外不存在

来自分类Dev

应该在Java中的循环内部还是循环外部声明变量

来自分类Dev

在for循环python中声明多个变量

来自分类Dev

在 C 中声明循环/IF 结构之外的变量

来自分类Dev

Javascript范围:在forEach循环的内部而不是外部声明的变量

来自分类Dev

无法访问循环外的变量 - java

来自分类Dev

在类外声明的变量

来自分类Dev

循环外的Foreach输出动态变量-Laravel

来自分类Dev

Unix中循环外的变量值

来自分类Dev

在ruby中存储循环外的变量

来自分类Dev

php foreach外循环

来自分类Dev

PHP foreach循环外循环

来自分类Dev

PHP foreach循环外循环

来自分类Dev

在循环外进行变量声明时,while循环会导致计算机挂起

来自分类Dev

在ForEach中循环,但变量是什么

来自分类Dev

在循环中声明变量

来自分类Dev

循环内的变量声明

来自分类Dev

for循环中的变量声明

来自分类Dev

引用For循环外的变量