class:定義類的關(guān)鍵字落君。
通過new關(guān)鍵字在堆內(nèi)存中創(chuàng)建一個類的實例對象穿香。
需求:描述汽車(顏色、輪胎數(shù))绎速,描述事物其實就是在描述事物的屬性和行為皮获。
- 屬性對應(yīng)類中的變量;行為對應(yīng)類中的方法(函數(shù))
- 其實定義類就是定義屬性和行為纹冤,屬性和行為共同稱為類的成員(成員變量洒宝、成員方法)
類的特點在于封裝
成員變量和局部變量的區(qū)別:
- 作用范圍:
成員變量作用于整個類中;局部變量作用于函數(shù)中或者語句(for)中萌京。 -
在內(nèi)存中的位置:
成員變量:在堆內(nèi)存中雁歌、因為對象的存在而存在,對象的消失而消失枫夺。
局部變量:在棧內(nèi)存中将宪,函數(shù)執(zhí)行完绘闷,變量消失橡庞。
排序算法
插入算法、堆排序印蔗、歸并排序扒最、希爾排序、快速排序华嘹、冒泡排序吧趣、選擇排序
代碼示例
class Demo{
public static void main(String... args){
int[] arr = {5,4,3,2,1,-100,99,-70,34,7,8};
}
public static void swap(int[] arr,int index1,int index2){
int temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
}
//冒泡排序:相鄰的相比較
public static void bubbleSort(int[] arr){
for(int i = 0;i<arr.length-1;i++){
for(int j = 0;j<arr,length-1-i;j++){
if(arr[j]>arr[j+1]){
swap(arr,j,j+1);
}
}
}
}
//選擇排序
public staitc void selectSort(int[] arr){
for(int i = 0;i<arr.length-1;i++){
for(int j = i; i<arr.length-1;j++){
if(arr[j]>arr[j+1]){
swap(arr,j,j+1);
}
}
}
}
冒泡圖解
選擇排序