為啥麼著兩個輸出不一樣呢?
int num[] = new int[]{1, 9 ,6 ,2 ,8 ,4};
Arrays.sort(num);
for(int n:num)
System.out.print(n+", ");
int num[] = new int[]{1, 9 ,6 ,2 ,8 ,4};
Arrays.sort(num);
for(int n=0 ;n<num.length ;n++){
System.out.print(n+", ");
for(int n=0 ;n<num.length ;n++) 不是和for(n:num)是一樣的嗎?
你『真的』沒搞懂迴圈、變數
你的第一段程式碼,依序輸出陣列的排序後元素
第二段程式碼,卻是依序輸出陣列的『索引值』
眼花差點被騙...
for(int n:num) 會迭代陣列裡面的內容 , 所以n會是陣列裡面的值.
for(int n=0 ;n<num.length ;n++)只是推算for迴圈要跑幾次而已 , 值要自己取.
要用 num[n] 才會跟 foreach效果一樣.
<pre class="c" name="code">
public void test1() {
int[] num = new int[]{1, 9, 6, 2, 8, 4};
Arrays.sort(num);
for (int n : num)
System.out.println(n + ", ");
System.out.println("---------------------------------------");
int[] num2 = new int[]{1, 9, 6, 2, 8, 4};
Arrays.sort(num2);
for (int n = 0; n < num2.length; n++) {
System.out.println(n + ", ");
}
System.out.println("---------------------------------------");
int[] num3 = new int[]{1, 9, 6, 2, 8, 4};
Arrays.sort(num3);
for (int n = 0; n < num3.length; n++) {
System.out.println(num3[n] + ", ");
}
}