2015-11-07 89 views
0

爲什麼輸出以下for循環2 2 2for循環的怪異輸出

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

bcoz每當你增加i的值和減少j的值1 ...所以淨效應在i + j中沒有變化 –

回答

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 
    } 
3

i + j始終爲2,因爲它會進行整數加法運算。所以......

  1. 0 + 2 = 2
  2. 1 + 1 = 2
  3. 2 + 0 = 2

您可以使用j + "" + i + " ",增加j爲一個字符串,而不是到一個數字。