Java基礎
數組操作常見問題
數組腳標越界異常(ArrayIndexOutOfBoundsException)
int[] arr = new int[2];
System.out.println(arr[3]);
訪問到了數組中的不存在的腳標時發生。
空指針異常(NullPointerException)
int[] arr = null;
System.out.println(arr[0]);
arr引用沒有指向實體,卻在操作實體中的元素時。
數組常見操作
遍歷
獲取數組中的元素,通常會用到遍歷。
數組中有一個屬性可以直接獲取到數組元素的個數: length
使用方式:數組名稱.length =
獲取最值
獲取數組中的最大值。
思路:
1,獲取最值需要進行比較,每一次比較都會有一個較大的值。因爲該值不確定,通過一個變量來存儲。
2,讓數組中的每一個元素都和這個變量中的值進行比較。如果大於了變量中的值,就用該變量記錄較大值。
3,當所有元素都比較完成,那麼該變量中存儲的就是數組中的最大值了。
排序
選擇排序
冒泡排序
數組中的查找操作
折半查找
折半查找,可提高效率,但是必須要保證數組是有序數組。
折半的第二種方式
數組中的數組
二維數組
格式1:int[ ][ ] arr = new int[3][2];
定義了名稱爲arr的二維數組
二維數組中有3個一維數組
每一個一維數組中有2個元素
一維數組的名稱分別爲arr[0], arr[1], arr[2]
給第一個一維數組1腳標位賦值爲78寫法是:arr[0][1] = 78;
格式2:int[ ][ ] arr = new int[3][ ];
二維數組中有3個一維數組
每個一維數組都是默認初始化值null
可以對這個三個一維數組分別進行初始化:
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
格式3:int[ ][ ] arr = {{3,8,2},{2,7},{9,0,1,6}};
定義一個名稱爲arr的二維數組
二維數組中的有三個一維數組
每一個一維數組中具體元素也都已初始化
第一個一維數組arr[0] = {3,8,2};
第二個一維數組arr[1] = {2,7};
第三個一維數組arr[2] = {9,0,1,6};
第三個一維數組的長度表示方式:arr[2].length;
注意特殊寫法情況:int[ ] x,y[ ]; x是一維數組,y是二維數組。