一、数组(下)
1.数组的复制
System.arraycopy(a,1,b,0,4)
int[] a = {10,20,30,40,50};
int[] b = new int[6]; //0,0,0,0,0,0
//1:源数组的起始下标
//b:目标数组
//0:目标数组的起始下标
//4:要复制的元素个数
System.arraycopy(a,1,b,0,4); //灵活性好
for(int i=0;i<b.length;i++){
System.out.println(b[i]);
}
int[] b =Arrays.copyOf(a,6);
int[] a = {10,20,30,40,50};
//a:源数组
//b:目标数组
//6:目标数组的长度
// --若目标数组长度>源数组长度,则末尾补默认值
// --若目标数组长度<源数组长度,则将末尾的截掉
int[] b = Arrays.copyOf(a,6); //灵活性差
for(int i=0;i<b.length;i++){
System.out.println(b[i]);
}
//扩容:arr = Arrays.copyOf(arr,arr.length+1);新数组长度+1,默认值为0
//数组的复制:
int[] a = {10,20,30,40,50};
//数组的扩容(创建了一个更大的新的数组,并将数据复制进去了)
a = Arrays.copyOf(a,a.length+1);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
二、自定义方法
方法的意义:也称函数、过程
作用:专门用于封装一段特定的业务逻辑功能
建议:尽可能独立 一个方法只干一件事
调用:可以反复调用
好处:减少重复,有利于代码维护
什么时候用:只要是一个独立的业务,就应封装到一个方法中
方法的定义:
1.五个要素:修饰词(public static)、返回值类型、方法名、参数列表(可写可不写,也可以写多个)、方法体
修饰词(public static) 返回值类型 方法名(参数列表){//public static可以同时有,也可以只用其中一个
方法体
}
2.可以有返回值 也可以没有
没有返回值 --------返回值类型统一写成void
有返回值 -----------返回值类型设计为特定的数据类型即可,8种基本数据类型或引用类型(数组,String,对象)
3.什么时候有返回值什么时候没有返回值:
方法调用结束时:
1)若后期还需要用到方法中的数据------有返回值
2)若后期不需要用到方法中的数据------无返回值
4.参数
可以有参数 可以没有参数
------有参数可以使方法更加灵活
形式参数:定义方法时的参数为形参
实际参数:调用方法时的参数为实参
5.方法的调用:
无返回值:
方法名(有参传参);
有返回值:
数据类型 变量 = 方法名(有参传参);
可以通过return返回。用法:
return 值;//1)结束方法 2)返回结果给调用方法
6.方法的签名:方法名+参数列表
7.方法的重载(overloading)
语法:发生在同一类中,方法名相同,参数列表不同
绑定:编译器在编译时会根据方法的签名自动绑定方法