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};
數組的長度是固定的,數組的內存是連續的java
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.查找:
普通方式:一個一個比較
缺點:效率低
二分法:前提:數組是有序的
先找到中間下標的數據,拿着查找的數和這個中間的數比較,若是比他大,則對中間數右邊的數組進行二分法查找,反之左邊spa
6.進制轉換(部分)指針
十進制轉二進制:數組接收餘數
十進制轉十六進制:
int num=60;
int n1=num&15;
int n2=num>>>4;排序
7.數組中的易錯點:內存
1.在定義數組時可能只記住定義數組的類型而忘記長度,數組是事先就要在內存中開闢空間,因此必須在定義時或在程序運行前定義數組的長度(初學者易犯)io
2.數組的類型與要插入數組的元素的類型不匹配(我出現過char型的數組要放入String的數據出錯,自動類型轉換的數據應該不會出現這種錯誤)效率