一維陣列
動態初始化
注意: [ ] 可在陣列名稱的左側或右側,[ ] 與陣列名稱之間的空白多寡無所謂。
(1)陣列內的元素如果是基本資料型態
範例1:
int[] myArray;//定義陣列變數
//=====以下必須在方法體內=====
//先配置變數陣列空間,再賦值
myArray = new int[3]; //留後使用
myArray[0]=1; //注意:陣列的下標值是[0]
myArray[1]=2;
myArray[2]=3;
範例2:
//定義整數陣列,變數名為myArray
int[] myArray;
//=====以下必須在方法體內=====
myArray = new int[]{1,2,3,4,5};//配置實體手動初始化
(2)陣列內的元素如果是對象(或稱:物件)
範例1:
Integer[] intObjArr;
//=====以下必須在方法體內=====
intObjArr[0] = new Ingeger(10);
intObjArr[1] = new Ingeger(20);
intObjArr[3] = new Ingeger(30);
範例2:
Integer[] intObjArr;
//=====以下必須在方法體內=====
intObjArr = {new Ingeger(10), new Ingeger(20), new Ingeger(30)};
靜態初始化
定義配置陣列變數初始化
語法
byte[] myArray = {1,2,3,4,5};
char myArray[] = {'a','b','c','d','e'};
String[] myArray = {"你","我","他","一起","學習"};
float myArray[] = {(float) 1.1,(float) 3.14,(float) 4};
範例
型態[] 陣列名稱 = {第一個元素值,第二個元素值,...};
(1)陣列內的元素如果是基本資料型態
float[] myFloatArray ={(float) 1.243,(float) 2.34,(float) 3.12}; //定義浮點數陣列並配置實體手動初始化
(2)陣列內的元素如果是對象(或稱:物件)
Integer[] intObjArr = {new Integer(10), new Integer(20), new Integer(30)};
一維陣列的存取控制
賦值語法:
取值語法:
對象取出語法:
陣列名稱 [索引值] = 值;
陣列名 = new 型態[] {new 型態(常數), new 型態(常數),...};
型態 變數名 = 陣列名 [索引值];
for ( 取出類型 取出變數名 : 對象陣列名 ) { }
動態初始化,範例如下:
範例1:
int[] myArray; //定義陣列變數
//=====以下必須在方法體內=====
myArray = new int[3]; //配置變數陣列空間
myArray[0]=1; //注意:陣列的下標值是[0]
myArray[1]=2; //設定第二個元素值
myArray[2]=3;
for (int i = 0; i <3 ; i++){
System.out.println(myArray[i]);
}
範例2:
//定義整數陣列,變數名為myArray
int[] myArray;
//=====以下必須在方法體內=====
myArray = new int[]{1,2,3,4,5}; //配置實體手動初始化
myArray[0] = 10; //設定第一個元素的值
int value1 = myArray[0]; //取得一個元素的值
靜態初始化,範例如下:
//定義浮點數陣列並配置實體手動初始化
float[] myFloatArray = {(float) 1.243,(float) 2.34,(float) 3.12};
//=====以下必須在方法體內=====
myFloatArray[0] = 10; //設定第一個元素的值
int value1 = (int) myFloatArray[0]; //取得一個元素的值
陣列內的元素如果是對象(或稱:物件)
動態初始化,範例如下:
Integer[] intObjArr;
//=====以下必須在方法體內=====
intObjArr = new Integer[]{new Integer(10), new Integer(20), new Integer(30)};
intObjArr[0] = new Integer(20); //設定第一個元素對象的值
intObjArr[1] = 30; //設定第二個元素對象的值(自動裝箱)
intObjArr[2] = 40; //設定第三個元素對象的值(自動裝箱)
for(Integer intObj : intObjArr) {
System.out.println(intObj); //依序印出元素對象的值
}
System.out.println(intObjArr[1]); //印出第二個元素對象的值(自動拆箱)
靜態初始化,範例如下:
語法: 型態[] 陣列名 = {new 型態(常數), new 型態(常數),...};
Integer[] intObjArr = {new Integer(10), new Integer(20), new Integer(30)};
//=====以下必須在方法體內=====
intObjArr[0] = new Integer(20); //設定第一個元素對象的值
intObjArr[1] = 30; //設定第二個元素對象的值(自動裝箱)
intObjArr[2] = 40; //設定第三個元素對象的值(自動裝箱)
for(Integer intObj : intObjArr) {
System.out.println(intObj); //依序印出元素對象的值
}
System.out.println(intObjArr[1]); //印出第二個元素對象的值(自動拆箱)
取得陣列長度
語法:
回傳值:
說明:
陣列名.length
int
回傳該陣列的長度(毎一個陣列都有一個屬性length指明它的長度)
範例一:
int arr[] ={1,2,3,4,5};
for( int i =0 ; i < arr.length ; i++ ){
System.out.println( arr[i] );
}
範例二:
//從dos命令視窗操作 輸入 java 檔名 參數1 參數2 ...參數N
public static void main(String[] args) {
for(int i =0 ;i<args.length;i++){
System.out.println(args[i]);
}
}
排序法
二維陣列
動態初始化
注意:
1.定義: 基本型態 陣列名稱[第一維][第二維];
2.要先對[第一維]配置空間後,才能再對[第二維]配置空間
整體範例:
(1)陣列內的元素如果是基本資料型態
動態初始化,範例如下:
範例1:
int[][] myArray; //定義二維陣列變數
//=====以下必須在方法體內=====
myArray = new int[2][]; //先配置[第一維]陣列空間
myArray[0] = new int[2]; //對第二維配置空間
myArray[1] = new int[3];
myArray[0][0] = 1 ; //對第二維配值
myArray[0][1] = 2 ;
myArray[1][0] = 1 ;
myArray[1][1] = 2 ;
myArray[1][2] = 3 ;
範例2:
int[][] myArray; //定義二維陣列變數
//=====以下必須在方法體內=====
myArray = new int[2][3]; //配置[第一維][第二維]陣列空間
myArray[0][0] = 1 ; //對第二維配值
myArray[0][1] = 2 ;
myArray[0][2] = 3 ;
myArray[1][0] = 1 ;
myArray[1][1] = 2 ;
myArray[1][2] = 3 ;
範例3:
int[][] myArray = new int[2][]; //定義二維整數陣列並配置第一維空間
//=====以下必須在方法體內=====
myArray[0] = new int[]{1,2}; //對第二維配置空間與值
myArray[1] = new int[]{1,2,3};
範例4:
int[][] myArray = new int[2][3]; //定義二維整數陣列並配置第一維空間
//=====以下必須在方法體內=====
myArray[0] = new int[]{1,2,3}; //對第二維配置空間與值
myArray[1] = new int[]{11,12,13};
(2)陣列內的元素如果是對象(或稱:物件)
範例1:
Integer[][] intObjArr = new Integer[2][]; //定義對象陣列並配置第一維空間
//=====以下必須在方法體內=====
intObjArr[0] = new Integer[2]; //對第二維配置空間
intObjArr[1] = new Integer[3];
intObjArr[0][0] =new Integer(1); //對第二維配置值
intObjArr[0][1] =new Integer(2);
intObjArr[1][0] =new Integer(10);
intObjArr[1][1] =new Integer(20);
intObjArr[1][2] =new Integer(30);
範例2:
Integer[][] intObjArr = new Integer[2][]; //定義對象陣列並配置第一維空間
//=====以下必須在方法體內=====
intObjArr[0] = new Integer[]{new Integer(1), new Integer(2)}; //對第二維配置空間與對象
intObjArr[1] = new Integer[]{new Integer(10), new Integer(20), new Integer(30)};
範例3:
Integer[][] intObjArr = new Integer[2][3]; //定義對象陣列並配置第一維空間
//=====以下必須在方法體內=====
intObjArr[0] = new Integer[]{new Integer(1), new Integer(2), new Integer(3)}; //對第二維配置空間與對象
intObjArr[1] = new Integer[]{new Integer(10), new Integer(20), new Integer(30)};
靜態初始化
定義配置陣列變數初始化
語法
byte[][] myArray = {{1,2},{3,4,5}};
char myArray[][] = {{'a','b'},{'c','d','e'}};
String[][] myArray = {{"你","我","他"},{"一起","學習"}};
float myArray[][] = {{(float) 1.1},{(float) 3.14,(float) 4}};
範例
型態[][] 陣列名稱 = {{第1元素,第2元素,...},{第1元素,第2元素,...}};
整體範例:
(1)陣列內的元素如果是基本資料型態
int[][] myArray = {{1,2},{1,2,3}}; //定義整數陣列並配置實體手動初始化
(2)陣列內的元素如果是對象(或稱:物件)
Integer[][] intObjArr = {{new Integer(1), new Integer(2)},{new Integer(10), new Integer(20), new Integer(30)}};
二維陣列的存取
範例: