Java基础Note——数组高级
数组高级
方法参数的值传递机制
基本类型:值传递
引用类型:类似于方法形参是C语言的指针,可以改变主方法的值(传递地址)
多维数组
语法:int【】【】 arr;
二维数组:数组中的每一个元素是一个一维数组。
n维数组:…
严格上说java中没有多维数组的概念,和C区分,一般称为数组中的数组
多维数组操作
二位数组初始化操作:(比作一个表格)
静态初始化:
动态初始化:
增强for循环foreach
语法:
for(数组元素类型 变量 : 数组名)
{
循环体
}
底层本质:
所以增强for循环只是编译前的新特性–>语法糖
作用:让开发者写更少更简单的代码,完成相同的功能
foreach–>集合框架(操作对象)
方法的可变参数
可变参数是参数的个数可变:
其本质:
方法的可变参数也是编译器级别的新特性,语法糖。
其底层就是数组类型
方法的可变参数必须是形参的最后一个参数
推论:方法最多只有一个可变参数
数组拷贝
经常使用,SUN把数组拷贝操作存放在JDK中的System类中.
Object:java语言中的根类,Object可以表示任意数据类型.
选择排序
真正选择排序
查找算法(二分法查找)
1.线性搜索:对于元素过多的数组,性能极低
2.二分搜索:前提是数组元素必须有序(需要排序)速度特别快
底层:
自行封装ArrayUtil工具
封装成一个类
Java自带数组工具类(Arrays)
java.util.Arrays