匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 9 年前

for-loop 問題

public class Four {

public static void main(String[] ags){

String[] exams = {"SCJP","SCWCD","SCMAD"};

for(int i =0; i<=exams.length-1 ; i++){

System.out.print(exams[i]+",");

}

執行結果SCJP,SCWCD,SCMAD,

---------------------------

public class Five {

public static void main(String[] args){

String[][] exams = {{"SCJP","SCWCD","SCMAD"},

{"MCSD","MCAD","MCDBA"}};

for(int i = 0 ; i<=exams.length-1 ; i++){

System.out.println(exams[i][i]);

}

執行結果SCJP MCAD

-------------------------問題-----------

到這邊就有點看不懂了

SCJP MCAD 怎麼出來的

要怎麼才可以執行

SCJP SCWCD SCMAD

MCSD MCAD MCDBA

已更新項目:

另外請問一下

List 集合族群是所有集合當中最像陣列的集合,

每一個集合元素都有像陣列一樣的 >>index索引值<<

>>index索引值<< 是指像陣列的維度嗎0,1,2,3

我一直看不懂,index索引值,是什麼東西

2 個已更新項目:

謝謝你 喚起我初階的記憶

我也懂了3Q

int[][][] x={

{ 1<----為什麼不能放數字!? 這不是三維陣列嗎?

{1,2,3},{4,5,6}

}

};

1 個解答

評分
  • 9 年前
    最佳解答

    下方我先用圖解方式作一維陣列與二維陣列說明~~請注意陣列是屬於物件所以實體在媒體位置是在Heap區圖一中 i 為陣列變數參考值是存放在stak區~~指向Heap陣列物件實體

    圖片參考:http://i230.photobucket.com/albums/ee25/chihlucy/j...

    也就是如上比喻的買的第一個櫃子~~(有兩個空間的櫃子紅色框的)

    圖中~~紫色框就是再放入的有三個空間的小櫃子也就是 new int [2][3 ];

    因設的是 int 陣列 所以裡面如沒有設元素值會是初始值0

    如用程式去撰寫列印出這個二維陣列內容值會是 6 個 0

    假如以這個例子將元素設定如下:

    int [][] i ={{1,2,3,},{4,5,6}};

    System.out.print(i[0][1]+"," + i [1][2]); 會印出 2 , 6

    因二維陣列第一層是設定空間數(二維陣列元素內容是放在第二層)~~ 索引值由0開始計算~~ int [0][1] 會指向外部花括號內第一個花括號內的第二個元素 (內部元素所引值(index)一樣由0開始計算) 你程式中第一個範例中FOR迴圈其實撰寫不需 i<=exams.length-1 這樣寫多此一舉

    他(迴圈)的邏輯觀念(i=0 ; i<exams.length; i++ ) 即可 i 由0開始遞加

    ==> 第一次為 i=0 ,第二次i+1 後 i 就= 1 ,第三次 1+1 這時 i=2

    陣列的維度(index) = 陣列長度-1 ==>所以 維度(index) 是 0,1,2 三個

    所以i 已循還ㄌ第三次也就i <exams.length 符合ㄌ條件 (exams.length = 3)

    而二維陣列要取出的撰寫可以用for雙迴圈也可以取出全部元素 或是用 for -each取出全部元素

    用for雙迴圈範例

    int[][] x={{1,2,3},{4,5,6}};

    for(int i =0; i<x.length;i++){

    for(int j=0; j<x[i].length; j++){

    System.out.print(x[i][j] + ",");

    }

    用for-each範例

    int[][] x={{1,2,3},{4,5,6}};

    for(int[]y : x){

    for(int s : y){

    System.out.print(s + ",");

    }

    }

    問題二

    List 與陣列一樣索引值也就是 (index) 全都是由 0 開始

    2012-02-28 18:02:53 補充:

    提供你我寫ㄌ幾篇java基礎的教學請參考看看

    http://www.wretch.cc/blog/hopopo923

    2012-03-01 16:25:02 補充:

    多維陣列的元素質都是仿在最裡的陣列中==>就是最裡面的那個一維陣列

    外層是以大花括號分層去包裹住~~所以你可以想像用上方我使用圖示櫃子的概念去想像

    2012-03-01 16:26:07 補充:

    如用擬人化你也可以如==>

    設定一個三維陣列的內容時,您可以想像成利用第一維陣的陣列儲存各年級的紀錄,

    而利用第二維陣列儲存各班的紀錄,再利用第三維陣列儲存各科的成績。

    2012-03-01 16:26:18 補充:

    所以,以下的情境中:「Java國小有六個年級,各年級有5個班,

    各班有國文、英文、數學等三科的成績需要記錄」,

    您的陣列可以宣告成:

    Int [ ] [ ] [ ] score = new int [6] [5] [3];

    2012-03-01 16:28:10 補充:

    所以多維陣列的外層都是指的是空間數~~而真正存放元素是最裡層陣列

    參考資料: 加菲貓
還有問題?馬上發問,尋求解答。