JAVA_SE第四章 類和物件(二)
九、排序
1.冒泡
2選擇
3.插入排序:從第二個開始與前面所有已經排好序的序列進行比較,插入到對應位置
for(inti=1;i<arr.length;i++) {
//第二個元素開始,每個元素與前面已經排好序的元素比較
for(intj =0; j<i;j++) { //j為被比較的元素,用來確定位置
if(arr[i]<arr[j]) {
temp=arr[i];
for(intk=i-1;k>=j;k--)
arr[k+1]=arr[k];
arr[j]=temp;
}
}
}
十、常用API (工具類基本都位於util類下)
1.java.util.Arrays類
常用方法:1)toString 把陣列轉化成字串,可直接檢視陣列中的內容
2)sort/ parallelSort 對陣列進行排序 sort升序排序:
例:Arrays.sort(arr);對陣列全部升序排序
例:Array.sort(arr,1,4);對下標為1到4的元素進行排序;//Java方法中通常都是前閉後開[起始位置,終止位置]
3)binarySearch二分查詢 用來查詢元素。前提要自己用sort方法排個序;、 例;Arrays,binarySearch(arr,3) 其中3為待查詢的元素;如果有,返回元素下標,如果沒有,返回(負的插入點下標)減一。
例:Arrays.binarySearch(arr,1,4,3)意為從下標為1的元素到4的元素之間查詢有無3
4)equals
例:Arrays,equals(arr1,arr2);
5) fill 用指定的元素值填充陣列
例:Arrays,fill(arr,111)即用111填充整個陣列
例:Arryas,fill(arr,1,4,100);即用100填充1到4的位置
6)copyOf複製指定的陣列
例:int[]arr2; arr2=Arrays,copyOf(arr);
7)copyOfRange指定範圍的複製
例:int[]arr2; arr2=Arrays,copyOfRange(arr,1,4);
十一、構造器與訪問器
Shift + alt + s可以自動生成構造器和訪問器。
(一) 構造器與訪問器的區別
1.構造器是在創造物件時完成初始化(賦值)以new開頭;
訪問器只有在建立物件之後,才能呼叫賦值;
2.訪問器可以一次為所有成員變數賦值;
訪問器只能一個一個呼叫賦值
3.建立物件之後,對屬性值的更改只能用訪問器。
(二)構造器的過載
(三)構造器之間的呼叫,用this呼叫。
(四)構造塊:在定義類時,在定義構造器之前的一段程式碼,用大括號括起來。在new物件時,先執行構造塊,再只想構造器。
(五)例項成員變數初始化步驟:
1.預設初始化;
2.宣告處初始化;
3.構造塊初始化;
4.構造器