为什么“for each”循环在这个例子中不像“for”循环那样工作?

时间:2017-03-13 13:13:27

标签: java arrays for-loop

我需要一些关于这段代码的帮助,当我尝试用“for循环”显示Java中的所有字符时,没关系,java显示我所有,当我用“for each”执行此操作时,我只有未定义的符号< / p>

char[] chars = new char[65535];
    for (int go = 0; go < chars.length; go++) { // THIS CODE IS OKAY!
        // for (int go : chars) { // **THIS CODE DOESN'T WORKS! WHY??** 
        chars[go] = (char) go; // Change int type to char
    }
    for (char owo : chars) { // Output characters
        System.out.println(owo);
    }

2 个答案:

答案 0 :(得分:1)

for (int go : chars) {

当您确定数组不为空时使用

for (int go = 0; go < chars.length; go++) {

当您想要获取i 0,1,2,... n

的值时使用

修改

如果需要使用for (int go : chars) {,则必须添加另一个变量:

int i = 0;
for (int go : chars) {
    chars[i] = (char) i;
    i++;
}

答案 1 :(得分:0)

数组中没有任何内容,数字65535只是数组的大小,这意味着 chars [0] to chars [65534]