[Java] 2.1. 陣列

陣列給你連續的空間,讓你一次可以保存多個資料。

 

image/svg+xml陣列 + 索引值,存放學⽣們的成績 學⽣有5位, 那不就要5個變數來保存每位學⽣的成績? 型別與陣列初使值 2.1. 陣列 class MainClass{ public static void main( String [] args){ int s1 = 90 ; int s2 = 80 ; int s3 = 50 ; int s4 = 70 ; int s5 = 70 ; } } class MainClass{ public static void main( String [] args){ int [] scores ; scores = new int [ 5 ] ; scores[ 0 ] = 90 ; scores[ 1 ] = 80 ; scores[ 2 ] = 50 ; scores[ 3 ] = 70 ; scores[ 4 ] = 70 ; System.out.println( scores[ 0 ] ); System.out.println( scores[ 1 ] ); System.out.println( scores[ 2 ] ); System.out.println( scores[ 3 ] ); System.out.println( scores[ 4 ] ); } } 在建立陣列(使⽤ new )的同時,陣列中的每⼀個位置皆會放入初始資料,⽽初始資料會依照型別⽽ 決定。下列是⼀個初始化的對照表,整數類的資料會被放入 0 ,實數類的資料為 0.0 ,字元 ’\u0000’ ,⽽布林為 false 整數 初始值 byte 0 short 0 int 0 long 0 實數 初始值 float 0 double 0 字元 初始值 char '\u0000' 布林 初始值 boolean false J2_1_1 - MainClass.java 1. 在此宣告⼀個可以裝下陣列的變數,與⼀般的變數不同的地⽅只在於變數後⾯ 多了⼀個中括號( [] ),這就是陣列型別的意思,在此為 int 型別的陣列變數。 J2_1_2 - MainClass.java 1. 就因為我們有5位同學要保存成績,導致需要產⽣5個變數來存放5位同學 的成績?!那同學越多不同需要更多的變數來保存同學的成績了嗎? 2. 接下來是使⽤ new 關鍵字 來建立⼀個新的陣列。 3. new 關鍵字後⾯接著是⼀個 int 型別(因為 scores 變數的型別是 int ),但在型別後⾯加了⼀ 個中括號;⽽在中括號中的數字5,將會指定建立 出來的陣列,有5格的空間可以儲存整數的資料。 4. 接著透過指派運算式( = ),將陣列存放⾄陣列變數中。 8. 陣列使⽤起來很像⼀般的變數,⼀樣可以將裡⾯保存的資料取出來,只是要 使⽤中括號( [] ),並給予中括號索引值。注意⼀下,我們的陣列是從 scores 變數中取出來的, scores 並不是⼀個陣列,⽽是存放陣列的陣列變數。 6. 為了指出要使⽤的陣列空間位置,這時可透過索引 值來指定空間位置。索引值是存在在陣列後⾯加上中括 號( []) )中的,索引值為 0 時,即是代表要使⽤這個 陣列第 1 個空間位置。 5. scores 陣列變數中放了⼀ 個陣列,當說到 scores 變數 時,會將這個陣列取出。 7. 在使⽤索引值來指定位置以後,⼀樣可以使⽤指 派運算式( = )將資料放入所指定的空間位置中。 特別注意的是,在這個範例中 scores 只是⼀個陣列變數,我們使⽤的是陣列 變數中的陣列。如何我們在第2章所介紹的⼀樣,變數只是⽤來存放您要保存 的東⻄。

留言