Java增强循环

标签 java loops for-loop

请逐步解释一下这段代码的输出:

public class My {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,1};
        for (int n : a) {
            a[n] = 0;
        }
        for (int n : a) {
            System.out.println(n);
        }
    }
}

我知道这是一个增强循环。但不明白它如何与 a[n]=0 一起使用 为什么这段代码输出00301?

最佳答案

您可以通过添加 println 语句来调试它:

    for (int n : a) {
        System.out.println("Changing element " + n + " of array from " + a[n] + " to 0");
        a[n] = 0;
    }

其输出是:

Changing element 1 of array from 2 to 0
Changing element 0 of array from 1 to 0
Changing element 3 of array from 4 to 0
Changing element 0 of array from 0 to 0
Changing element 1 of array from 0 to 0

关于Java增强循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50115116/

相关文章:

java - onClickListener()的设置方式

javascript - for let of 循环不起作用?

java - 调用 FontFactory.getFont() 方法后无法删除文件

Java 安全管理器 : Restrictions on code from external jar loaded via ServiceLoader

java - String to BigDecimal,哪种方法好

python - 如何用一个循环依次遍历多个列表?

java - 如何将java的for循环变成递归?

java - gwtbootstrap3 选择 - 添加选项

javascript - 根据 id 在 javascript 中的对象数组中替换特定对象

java - 增强的 for 循环不会调用 arraylist 的重写方法。类转换异常