1.數組: java.lang.ArrayIndexOutOfBoundsException:5 下標越界異常 java.lang.NullPointerException 空指針異常 arr.length獲取數組長度 數組存儲的是多個數,數據的操作離不開迴圈2數組初始化:int[] arr=new ...
1.數組: java.lang.ArrayIndexOutOfBoundsException:5 下標越界異常
java.lang.NullPointerException 空指針異常
arr.length獲取數組長度
數組存儲的是多個數,數據的操作離不開迴圈
2數組初始化:int[] arr=new int[]{2,3,4,5};
int[] arr=new int[7];
int[] arr={1,2,3,4};
數組的長度是固定的,數組的記憶體是連續的
3.數組的Arrays函數
(使用Arrays函數要import java.util.Arrays;)
int[] b=Arrays.copyOf(a,1);//第二個參數為複製指定個數的原數組元素個數到新的數組中,即新數組的長度,優點是不會改變原數組
int[] c=Arrays.copyOfRange(a,1,3);//包括起始下標,不包括結束下標,優點是不會改變原數組
Arrays.sort(數組名);//jdk中已經存在的排序方法,對數組進行排序,會改變原數組
4.排序:選擇排序
冒泡排序
插入排序
必須熟練掌握的排序演算法:選擇排序、冒泡排序
1.選擇排序:
依次固定每個下標,讓後面所有的數分別和固定下標中的數據依次對比
2.冒泡排序
下標相鄰的兩兩比較
5.查找:
普通方式:一個一個比較
缺點:效率低
二分法:前提:數組是有序的
先找到中間下標的數據,拿著查找的數和這個中間的數比較,如果比他大,則對中間數右邊的數組進行二分法查找,反之左邊
6.進位轉換(部分)
十進位轉二進位:數組接收餘數
十進位轉十六進位:
int num=60;
int n1=num&15;
int n2=num>>>4;
7.數組中的易錯點:
1.在定義數組時可能只記住定義數組的類型而忘記長度,數組是事先就要在記憶體中開闢空間,所以必須在定義時或在程式運行前定義數組的長度(初學者易犯)
2.數組的類型與要插入數組的元素的類型不匹配(我出現過char型的數組要放入String的數據出錯,自動類型轉換的數據應該不會出現這種錯誤)