首页 > 解决方案 > 增强循环不打印我所期望的

问题描述

public class Main {
        public static void main (String[] args) {

                //prints 000
                int[] num = new int[3];
                for(int i : num)
                        System.out.print(num[i]);

                int x = 0;
                num[x] = 2;
                System.out.println();

                //enhance for loops prints 022???
                for(int c : num)
                        System.out.print(num[c]);

                //prints 200
                System.out.println();
                System.out.print(num[0]);
                System.out.print(num[1]);
                System.out.print(num[2]);

        }
}

中间的增强循环应该打印 200 而不是打印 022?有人能解释一下它是如何得到 022 的吗?

标签: javaloops

解决方案


改变

for(int c : num)
    System.out.print(num[c]);

for(int c : num)
    System.out.print(c);

因为c这里代表num[0], num[1], num[2]... 这就是增强for循环的用途。


推荐阅读