Upload
cecile
View
93
Download
1
Embed Size (px)
DESCRIPTION
陣列 (Array). 陣列的基本認知. 使用 [] 中括號 ,代表陣列。 1 對 [] 代表一維陣列, 2 對 [] 代表二維陣列,以此類推。 配置 相同資料型態 且 連續的記憶體空間 。 存取陣列元素使用「索引值 (index) 」。 陣列索引值的編號從 0 開始。 搭配迴圈使用。. 使用陣列的方法. 使用陣列有以下兩個步驟: 宣告陣列 配置記憶體空間給該陣列. 一維陣列的宣告與配置記憶體. 資料型態 陣列名稱 []; // 1. 宣告 一維陣列 陣列名稱 = new 資料型態 [ 個數 ];// 2. 配置 記憶體給陣列. 範例說明. - PowerPoint PPT Presentation
Citation preview
1
陣列 (Array)
2
陣列的基本認知
使用 [] 中括號,代表陣列。 1 對 [] 代表一維陣列, 2 對 [] 代表二維陣列,以此類推。
配置相同資料型態且連續的記憶體空間。 存取陣列元素使用「索引值 (index) 」。 陣列索引值的編號從 0 開始。 搭配迴圈使用。
3
使用陣列的方法
使用陣列有以下兩個步驟:1. 宣告陣列2. 配置記憶體空間給該陣列
資料型態 陣列名稱 []; // 1. 宣告一維陣列 陣列名稱 = new 資料型態 [ 個數 ]; // 2. 配置記憶體給陣列
一維陣列的宣告與配置記憶體
4
範例說明
步驟 1int score[ ]; // 宣告整數陣列 score
5
步驟 2score=new int[4]; // 配置 4 個整數的記憶體空間
陣列是屬於非基本資料型態,因此 score 儲存的是陣列實體的參考位址
6
陣列宣告的多樣寫法
宣告 score 陣列int score[ ]; // 宣告 score 陣列為整數型態int[ ] score; // 宣告 score 變數為整數陣列
7
一維陣列簡化的寫法
一般寫法 ( 投影片 3)
簡化寫法
資料型態 陣列名稱 []=new 資料型態 [ 個數 ];
宣告陣列的同時便配置記憶體
資料型態 陣列名稱 []; // 1. 宣告一維陣列 陣列名稱 = new 資料型態 [ 個數 ]; // 2. 配置記憶體給陣列
一維陣列的宣告與配置記憶體
8
範例
public class Sample{
public static void main(String args[]){ int score[]; score=new int[4]; score[0]=50; score[1]=60;
for(int i=0;i<4;i++)System.out.printf("score[%d]=%d\n",i,score[i]);
}}
9
練習 -TQC 108
TQC 108: 九九乘法表 題目要求使用陣列及迴圈
10
練習 -TQC 104
TQC 104: 河洛之數 使用 Math.random 亂數,迴圈。 一維陣列模擬二維使用
arr[0] arr[1] arr[2]
arr[3] arr[4] arr[5]
arr[6] arr[7] arr[8]
arr[0]
arr[1]
arr[2]
arr[3]
arr[4]
arr[5]
arr[6]
arr[7]
arr[8]
1 2 3 4 5 6 7 8 9
11
陣列初始值設定
在宣告時就給予陣列初值
給予初值時,依初值的個數來決定陣列的大小。int score[ ]={50,60,80,75,10}// 陣列大小為 5 ,即為 score[0]=50, score[1]=60, score[2]=80, score[3]=75, score[4]=10
資料型態 陣列名稱 []={ 初值 1 ,初值 2 ,…,初值 n};
陣列初值的設定
12
範例
public class Sample{
public static void main(String args[]){
int score[]={50,60,80,75,10};int sum=0;
for(int i=0;i<5;i++)sum+=score[i];
System.out.println("Average="+(float)sum/5);}
}
13
練習
撰寫 Java 程式,讓使用者 輸入 5 個成績,加總後算出平均。
撰寫 Java 程式,讓使用者 輸入 5 個成績,輸出最高與最低的成績。
14
取陣列長度的方法 (method)
取得陣列元素的個數 ( 陣列長度 ) 的格式
陣列名稱 .length
陣列長度的取得
15
續 (p.10) 範例
public class Sample{
public static void main(String args[]){
int score[]={50,60,80,75,10};int sum=0;
for(int i=0;i<score.length;i++)sum+=score[i];
System.out.println("Average="+(float)sum/5);}
}
16
練習 -TQC 204
TQC 204: 期末考分數計算 使用引數,注意總平均求至小數第 2 位。
17
二維陣列
宣告與配置記憶體空間
簡化寫法
資料型態 陣列名稱 [][]; 陣列名稱 =new 資料型態 [ 列的個數 ][ 行的個數 ];
二維陣列的宣告格式
資料型態 陣列名稱 [][]=new 資料型態 [ 列的個數 ][ 行的個數 ];
二維陣列的宣告格式
18
二維陣列初值設定
在宣告時就給予陣列初值
資料型態 陣列名稱 [][]={{ 第 1 列初值 }, { 第 2 列初值 }, { … }, { 第 n 列初值 }};
二維陣列初值的設定格式
19
範例
某汽車公司的車輛銷售表
利用二維陣列儲存int sale[2][4];
20
範例
宣告及初值設定int sale[][]={{32,35,26,30},{34,30,33,31}};
21
每列元素個數不同的二維陣列
每列元素個數不同的二維陣列int x[][]={ {25,31,12}, {41,74,10,32,65}, {82,57} };int x[][]=new int[3][]; // 宣告二維陣列,並指定 3列x[0]=new int[3]; // 指定第 0 列有 3 個元素x[1]=new int[5]; // 指定第 1 列有 5 個元素x[2]=new int[2]; // 指定第 2 列有 2 個元素
22
取陣列長度 ( 元素 ) 的方法(method)
取二維陣列的列數、某列的元素個數
根據上一頁範例,可用以下程式碼得知陣列長度:x.length; // 取得 x 陣列之長度為 3 列x[1].length; // 取得 x 陣列的第 1 列裡有 5 個元素
陣列名稱 .length // 取得陣列的列數 陣列名稱 [ 列的索引值 ].length // 取得特定列元素的個數
取得二維陣列的列數與特定列之元素的個數
23
範例 - 某汽車公司的車輛銷售表public class Sample{public static void main(String args[]){int sale[][]={{32,35,26,30},{34,30,33,31}};int sum=0;for(int i=0;i<sale.length;i++){System.out.print(" 業務員"+(i+1)+"業績 :");for(int j=0;j<sale[i].length;j++){System.out.print(sale[i][j]+" ");sum+=sale[i][j];}System.out.print(" 總計 :"+sum);System.out.println();}}}
24
多維陣列
三維陣列int A[2][4][3];
2×4×3 的三維陣列可看成是由 2 個 4×3 的二維陣列所組成
也就是兩組 4 個橫列,3 個直行的積木併在一起,組成一個立方體