一、数组(数组的长度,一旦定义好了,就不能改变了)
1.复制
1)System.arraycopy()
int[] a = {1,2,3,4,5};
int[] b = new int[6];
//a:源数组
//1:源数组的起始下标
//b:目标数组
//0:目标数组的起始下标
//4:要复制的元素个数
System.arraycopy(a,1,0,b,4);
2)Arrays.copyOf()
int[] a = {1,2,3,4,5};
//a:源数组
//b:目标数组
//6:目标数组的长度(元素个数)
//--若目标数组长度大于源数组长度,则末尾补默认值
//--若目标数组长度小于源数组长度,则将末尾的截取
int[] b = Arrays.copyOf(a,6);
PS:数组的扩容(创建了一个更大的新的数组,并将源数组数据复制进去)
int[] a = {10,20,30,40,50};
a = Arrays.copyOf( a, a.length + 1 );
2.排序:排序是对数组追加的最常用的算法
Arrays.sort(arr); //升序
常见算法:冒泡排序、快速排序、插入排序...
PS:冒泡排序算法-----------------常出现在面试题里
二、方法(函数、过程)
1.封装一段特定业务的业务逻辑功能
2.方法要尽可能的独立,一个方法只干一件事
3.方法可以被反复多次调用
4.减少代码重复,有利于代码重复,有利于代码维护
三、定义方法:五要素
修饰词 返回值类型 方法名(参数列表){
方法体-------------具体的业务功能逻辑实现
}
1.修饰词
2.返回值类型(方法可以有返回值,也可以没有返回值)
1)无返回值:返回值类型统一设计为void
2)有返回值:返回值类型设定为特定的类型即可
PS:何时有返回值?何时没有返回值?
---------------方法操作完成后:
1)若还需要用到方法中的某个数据---------有返回值
2)若不需要用到方法中的数据----------------无返回值
3.方法名(命名规则与变量相同)
4.参数列表:方法可以有参,也可以无参(有参可以使方法更灵活)
PS:何时有参?何时无参?
1)若方法中的数据都可以写成固定的------------无参
2)若方法中的数据不是固定的数据---------------有参
5.方法体
四、调用方法
1.无返回值:方法名(有参传参)
2.有返回值:数据类型 变量 = 方法名(有参传参)
五、return
1.return 值; //有返回值
1)结束方法的执行
2)返回结果给调用方
2.return; //无返回值,在某种特定条件下提前结束方法
1)结束方法的执行
六、补充
1.形参:形式参数,定方法时的参数为形参
2.实参:实际参数,调用方法时的参数为实参