Java - 循环打印数组后的预期输出

时间:2016-02-02 15:43:14

标签: java arrays for-loop

我看过这个问题(来自多项选择)“以下程序的输出是什么”:

class array_output {
    public static void main(String args[]) 
    {
        int array_variable [] = new int[10];

        for (int i = 0; i < 10; ++i) {
            array_variable[i] = i/2;
            array_variable[i]++;

            System.out.print(array_variable[i] + " ");
            i++;
        }
    } 
}

预期输出为:

  

1 2 3 4 5

我很清楚,值i递增两次,首先在循环体中和最后一行。 但我并没有真正了解array_variable[i]++;行所做的事情。 有什么建议? 在此先感谢您回答这个新手问题!

2 个答案:

答案 0 :(得分:1)

修复后的递增和递减运算符在更改其值之前返回变量的值。请考虑以下事项:

int anInt = 0;
System.out.println("anInt: " + anInt);
// anInt: 0
System.out.println("anInt: " + anInt++);
// anInt: 0
System.out.println("anInt: " + anInt);
// anInt: 1
System.out.println("anInt: " + ++anInt);
// anInt: 2
System.out.println("anInt: " + anInt);
// anInt: 2

基本上,anInt++在递增之前返回anInt的值。 ++anInt在返回(新增)值之前递增anInt的值。

答案 1 :(得分:0)

array_variable[i]++;array_variable[i]中存储的值增加1。