一、数组(下)
数组的复制:
(1)System.arraycopy();
int[] a ={1,2,3,4,5}; int[] b = new int[6]; //a:源数组 //1:源数组的起始下标 //b:目标数组 //0:目标数组的起始下标 //4:要复制的元素个数 //System.arraycopy(a,2,b,1,3);034500 //System.arraycopy(b,1,a,3,2);12300 //System.arraycopy(a,1,b,2,3);002340 for (int i=0;i<b.length;i++){ System.out.println(b[i]);
(2)int[] b =Arrays.copyOf(a(源数组名),1(目标数组长度)) int[] a={1,2,3,4,5}; //a:源数组 //b:目标数组 //6:目标数组的长度 //若目标数组长度>源数组长度,则末尾补默认值 //若目标数组长度<源数组长度,则末尾值舍去 //int[] b=Arrays.copyOf(a,6);//123450 //int[] b =Arrays.copyOf(a,4);//1234 int[] b =Arrays.copyOf(a,5);//12345 for (int i=0;i<b.length;i++){ System.out.println(b[i]); }
数组的扩容:
创建了一个更大的新的数组,并将数据复制进去了
a = Arrays.copyOf(a,a.length+1);
int[] a = {1,2,3,4,5}; a = Arrays.copyOf(a,a.length+1);//123450 a = Arrays.copyOf(a,a.length-1);//1234 for (int i=0;i<a.length;i++) { System.out.println(a[i]);
二、方法的意义
也称函数、过程
作用:用于封装一段特定的业务逻辑功能
建议:尽可能的独立,一个方法只干一件事
调用:可以被反复调用
好处:可以减少代码重复,有利于代码维护
应用:只要是一个独立的业务,就应封装到一个方法中
方法的定义以及调用
定义方法的五个要素:修饰词(public static)、返回值类型、方法名(参数列表){
方法体
}
方法可以有返回值,也可以没有返回值:
1、无返回值:在返回值类型统一写成void public static void
2、有返回值:在返回值类型设计为特定的数据类型即可 public static int
有无返回值?
方法执行完之后:
1、若还需要用到方法中的数据(有返回值)int a = scan.nextInt();
2、若不需要用到方法中的数据(无返回值)System.out.println("HELLO");
方法可以有参数,也可以无参数
有参数可以使方法更加灵活
方法的调用:
无返回值:方法名(有参传参)
有返回值:数据类型 变量 = 方法名(有参传参)
return
可以通过return返回,
return 值 //1)结束方法的执行 //2)返回结果给调用方
补充:
1、形参:形式参数,定义方法是的参数为形参
实参:实际参数,调用方法时的参数为实参
2、方法的重载(overloading):方法名+参数列表
语法:发生在同一类中,方法名相同,参数列表不同
绑定:编译器在编译时会根据方法的签名自动绑定方法
重载与返回值类型无关和参数名称无关