java學(xué)習(xí)第五天內(nèi)容總結(jié):
學(xué)習(xí)內(nèi)容:
關(guān)注公眾號(hào):java進(jìn)階架構(gòu)師,獲取的學(xué)習(xí)視頻
總結(jié):
1浇辜、方法參數(shù):值傳遞
? ? 基本類型:值元素
? ? 引用類型:值位置(哈希函數(shù))
2券敌、Java不存在多維數(shù)組概念,稱為:數(shù)組中的數(shù)組柳洋。
3待诅、foreach:增強(qiáng)for循環(huán),用于數(shù)組循環(huán)熊镣。(語(yǔ)法糖:開發(fā)代碼更少更簡(jiǎn)單卑雁,功能相同。)編譯器新特性
????語(yǔ)法:
? ? ????for(數(shù)組元素類型 變量:數(shù)組名){
? ? ? ? ????循環(huán)體绪囱;
? ????? }
4测蹲、方法的可變參數(shù)(以"..."三點(diǎn)代替數(shù)組)(語(yǔ)法糖)
? ? 可變參數(shù)必須作為方法的最后一個(gè)參數(shù)(避免歧義),且一個(gè)方法只能有一個(gè)可變參數(shù)鬼吵。
5扣甲、數(shù)組元素拷貝
? ? JDK中System類中的arraycopy方法。
? ? 若java開發(fā)文檔中native修飾符修飾齿椅,表示本地方法琉挖。
????API文檔查詢:只能搜索類荷逞,不能直接搜索類方法。
6粹排、排序算法
? ? 選擇:直接選擇排序种远、堆排序
????交換:冒泡排序、快速排序
????插入:直接插入排序顽耳、二分法插入排序坠敷、shell排序
????歸并
模擬描述(順序:小大)
? ? 冒泡:(相鄰位置比較)找到較大值放右邊繼續(xù)相鄰比較,直到最大值放在本輪右邊末位“大”位置射富。
????選擇:(指定位置比較本輪所有值)找到較小值放左邊指定位置膝迎,直到最小值在指定“小”位置。
? ? ? ? 選擇排序提高性能:指定位置A比較本輪其他值B與C胰耗,注意:若A>B,則BC比較限次,BC較小值與A進(jìn)行值交換。(每輪比較僅一次交換)
? ? 開發(fā)中柴灯,排序算法自己寫的代碼性能低卖漫,直接使用封裝好的排序算法。
7赠群、搜索算法
? ? 線性搜索:(缺點(diǎn))元素過(guò)多時(shí)羊始,性能低。
????二分搜索法/二分查找法/折半查找:(缺點(diǎn))數(shù)組元素有序查描。
8突委、自行封裝數(shù)組操作工具ArrayUtil類
????EditPlus文本編輯器Ctrl F11類方法查看
? ??Java自帶數(shù)組工具Arrays類,開發(fā)中直接使用冬三。