陣列是用於儲存相同型別的元素的乙個固定大小的連續集合。陣列是用於儲存資料的集合,但往往將陣列認為是相同型別的變數的集合。
跟宣告單個變數相反,如number0,number1,... number99,宣告乙個陣列變數,如數字和使用numbers[0],numbers[1],...,numbers[99]來表示各個變數。
資料型別 陣列名;
資料型別 陣列名;
兩種方式雖然寫法與讀法都不同,但是表示著相同的含義,推薦使用第一種書寫方式,第二種是為了為了繼承c/c++的書寫風格。
1>靜態初始化:給定陣列中元素的值,陣列的長度由系統給定;
2>動態初始化:給陣列指定長度,陣列中的元素值由系統預設給定;
寫法如下:
靜態初始化:int a=new int; (簡寫)int a=;
動態初始化:int a=new int[5];
兩種定義方法不可以同時使用,只能靜態初始化或動態初始化。
陣列元素通過索引訪問。陣列的下標是從0開始的,也就是說,它們從0開始到.length-1。(【陣列名.length】可查詢到陣列中有多少個元素)
例如輸出如上動態陣列中第乙個值與最後乙個值:
system.out.println(a[0]);
system.out.println(a[4]);
直接輸出陣列名時會輸出陣列的位址。
arrayindexoutofbound***ception:
陣列角標越界異常
出現的原因:訪問了陣列中不存在的索引值;
nullpointerexception:
空指標異常 (在實際開發中該異常是最多的)
出現的原因:物件為null,而開發者還要去使用物件,就會出現問題
解決方案:給某個物件進行非空判斷,防止程式程式空指標異常
可以設定乙個參照物,將陣列的其他值與參照物進行比較,輸出最大值或者最小值。
public static void main(string args) ;
int max= array[0];//定義最大值為該陣列的第乙個數
int min= array[0];//定義最小值為該陣列的第乙個數
//遍歷迴圈陣列
for (int i = 0; i < array.length; i++)
if(min> array[i])
}for (int i = 0; i < array.length; i++)
system.out.println();
system.out.println("這個陣列的最大值為:"+max+"\t最小值為:"+min);
}}
設定乙個中間變數將兩側的元素值進行互換。
public static void main(string args);
int array2 = new int;
for(int i = 0; i < array.length/2; i++)
system.out.print("[");
for(int i = 0 ; i < arr.length ; i ++) else
}}
查詢的是該元素在陣列中的索引(根據索引查詢陣列的元素)
public static void main(string args) ;
scanner sc = new scanner(system.in) ;
system.out.println("請輸入乙個資料:(1-7):");
int index = sc.nextint()-1 ;
system.out.println("你要查詢的是:"+str[index]);
}
查詢某個元素在該陣列中第一次出現的索引(根據元素查詢第一次出現的索引)
可以用if語句實現
public static int findindex(int arr,int value)
}
資料型別 陣列名 = new 資料型別[m][n] ;
m:代表當前二維陣列中有多少個一維陣列
n:代表每乙個一維陣列中的長度
定義的方式還有以下兩種情況
資料型別 陣列名 = new 資料型別[m][n]
資料型別 陣列名 = new 資料型別[m][n]
第一種方式:
int a=,};
第二種方式;
int ints = new int[4][2];
ints[i][j] =__; //分別賦值
第三種方式:第二維的長度可以動態申請
int arr3 = new int[5];//五行的長度
for(int i=0; i
Java中的陣列
陣列的宣告格式裡,資料型別是陣列元素的資料型別,常見的有整形 浮點型 與字元型等 陣列名是用來統一這組相同資料型別元素的名稱,其命名規則和變數的相同 陣列宣告後實際上是在棧記憶體中儲存了此陣列的名稱,結下了是要在堆記憶體中配置陣列所需要的記憶體,齊產固定是告訴編譯器,所宣告的陣列要存放多少個元素,而...
JAVA中的多維陣列
宣告乙個二維陣列 int matrix new int 5 5 或者使用 int matrix 這是乙個直接初始化的格式 獲取二維陣列的長度。int martix new int 3 4 那麼martix.length 3 即行數 matrix 0 length 4 即列數 建立乙個鋸齒陣列 int...
Java中陣列的反轉
陣列反轉就是將兩個對稱的位置的元素進行交換,在這裡提供兩種實現方式 思路一 如下圖所示 1.對稱交換,所以需要兩個變數來記錄對稱的兩個位置 2.一組交換完後,左邊的需要進行加1,右邊的就需要進行減1 3.如果是奇數的話,當兩個位置相等 min max 就不會交換,4.如果是偶數的話,當兩個數擦肩而過...