for循环的奇怪输出

时间:2015-11-07 13:56:10

标签: java

为什么输出以下for循环2 2 2

for (int i = 0, j = 2; i < 3; i++, j--) {
    System.out.print(i + j + " "); // why is this 2 2 2 ?
}

2 个答案:

答案 0 :(得分:3)

i + j始终为2,因为它会进行整数加法。所以......

  1. 0 + 2 = 2
  2. 1 + 1 = 2
  3. 2 + 0 = 2
  4. 您可以使用j + "" + i + " ",将j添加到字符串中,而不是数字。

答案 1 :(得分:1)

因为i + j首先被计算为整数之和,所以使用i + "" + j以便将它们作为字符串连接进行求值。

    for (int i = 0, j = 2; i < 3; i++, j--) {
        System.out.print(i + "" + j + " "); // gives your 02 11 20
    }