2016-03-09 4 views
1

Я не могу придумать, почему массив печатает int в порядке, а не порядок, который они помещают в массив.Печать массива int

int[] array = {1, 4, 0, 3, 2}; 
for(int i : array){ 
     System.out.println(array[i]); 
} 

Есть ли какие-либо объяснения этому?

Заранее благодарен!

+0

'i' не представляет индекс, подмигнули, а значение, возвращаемое «Итератором» и текущим элементом его – SomeJavaGuy

ответ

4

Вы должны быть печать переменной Петля в:

for(int i : array){ 
    System.out.println(i); 
} 

При печати array[i] вместо i, вы получите 4 вместо 1 в качестве первого печатного элемента, так как array[1] == 4.

Ваш код будет правильным, если вы использовали традиционный цикл, который перебирает индексы массива:

for(int i = 0; i < array.length; i++){ 
    System.out.println(array[i]); 
} 
+1

вы избили меня до скорости. Ваш int i здесь не эквивалентен индексу. Это текущее целое значение, которое читается. – Alex

+0

Я только что пришел, и он отправил. – user3437460