java学习第五天内容总结:
学习内容:
关注公众号:java进阶架构师,获取的学习视频
学习大纲总结:
1、方法参数:值传递
基本类型:值元素
引用类型:值位置(哈希函数)
2、Java不存在多维数组概念,称为:数组中的数组。
3、foreach:增强for循环,用于数组循环。(语法糖:开发代码更少更简单,功能相同。)编译器新特性
语法:
for(数组元素类型 变量:数组名){
循环体;
}
4、方法的可变参数(以"..."三点代替数组)(语法糖)
可变参数必须作为方法的最后一个参数(避免歧义),且一个方法只能有一个可变参数。
5、数组元素拷贝
JDK中System类中的arraycopy方法。
若java开发文档中native修饰符修饰,表示本地方法。
API文档查询:只能搜索类,不能直接搜索类方法。
6、排序算法
选择:直接选择排序、堆排序
交换:冒泡排序、快速排序
插入:直接插入排序、二分法插入排序、shell排序
归并
模拟描述(顺序:小大)
冒泡:(相邻位置比较)找到较大值放右边继续相邻比较,直到最大值放在本轮右边末位“大”位置。
选择:(指定位置比较本轮所有值)找到较小值放左边指定位置,直到最小值在指定“小”位置。
选择排序提高性能:指定位置A比较本轮其他值B与C,注意:若A>B,则BC比较,BC较小值与A进行值交换。(每轮比较仅一次交换)
开发中,排序算法自己写的代码性能低,直接使用封装好的排序算法。
7、搜索算法
线性搜索:(缺点)元素过多时,性能低。
二分搜索法/二分查找法/折半查找:(缺点)数组元素有序。
8、自行封装数组操作工具ArrayUtil类
EditPlus文本编辑器Ctrl F11类方法查看
Java自带数组工具Arrays类,开发中直接使用。
网友评论