Java從入門到精通第六章(數組)學習記錄

數組是具有相同數據類型的一組數據的集合,在Java中同樣將數組看作一個對象,基本數據類型不是對象,但由基本數據類型組成的數組卻是對象,可根據數組的維數將數組分爲一維數組、二維數組等等,例如das[]是一維數組,sdfa[][]是二維數組,sad[][][]是三維數組。

數組作爲對象允許使用new關鍵字進行內存匹配,在使用數組之前,必須首先定義數組變量所屬的類型。

創建一維數組:

聲明一維數組有兩種形式:數據元素類型  數組名字[];和數組元素類型[]  數組名字;。數組元素類型決定了這個數組裏面的元素是什麼類型。

要想真正的使用數組,還要爲它分配內存空間,分配空間時必須指明數組的長度,格式爲:數組名稱 = new 數組元素的類型[數組元素的個數]。例如:

Arr = new int [3];

注:使用new關鍵字分配內存時,整型數組中的元素的初始值都爲0。

也可以在聲明的同時爲內存分配空間,格式爲:數組元素的類型 數組名稱 = new 數組元素的類型[數組元素的個數]。例如:int arr = new int[8];

初始化數組有兩種形式,如int arr[] = new int[]{1,2,4,6};和 int arr[] ={2,5,3,4};輸出數組的話可以使用foreach語句,也可以使用for語句,一般來說,foreach語句比較方便。

二維數組的創建和一維數組差不多,可以在聲明的同時進行分配內存和初始化,如:int arr[][] = new int [][]{{1,2},{3,4}};此時的二維數組由兩個一維數組組成,且一維數組裏麪包含兩個元素。

數組的一些基本操作:

現假定arr是已經聲明並分配內存且初始化的一維數組。

arr.length可以獲取數組的長度;

使用Arrays類之前必須導入java.util.Arrays類,如:

import java.util.Arrays;

Arrays.fill(arr,2)方法是替換數組中所有元素的值爲2;

Arrays.fill{arr,1,3,6)方法是替換數組中從1到3(不包括)中的元素的值爲6;

Arrays.sort(arr)方法可以實現對數組的排序(按字典順序來排序);

Arrays.copyOf(arr,5)方法是複製數組arr中從第一個元素數到第5個元素的值給一個新的數組,若複製長度大於原數組,則自動填充0

Arrays.copyOfRange(arr,0,4)方法是複製數組arr中從下標0數到4下標(不包括)的值給一個新的數組,若複製長度大於原數組,則自動填充0;

Arrays.binarySearch(arr,4)方法是在數組arr中搜素4,用二分搜索法,搜到了返回下標,否則返回-1或-(插入點),插入點是搜索鍵將要插入數組的那一點,即第一個大於此鍵的元素索引。如果數組中的所有元素都小於指定的鍵,則返回arr.length。在搜索之前必須先將數組中的元素排序好,否則結果是不確定的,有多個和搜索值相同的元素,結果也是不確定的。

Arrays.binarySearch(arr,0,3,4)方法是在數組arr中從下標0開始到下標3(不包括)搜素4,搜素到了返回下標,否則返回-1或-(插入點);

冒泡排序的基本思想是對比相鄰的元素值(兩兩比較);

 

直接選擇排序的基本思想是將指定排序位置與其他數組元素分別對比,如果滿足條件就交換元素值。

 

反轉排序就是以相反的順序把原有數組的內容重新排序。這裏不提供截圖了,別問,問就是沒敲。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章