数组的引用传递
在函数中也可以用来传递和返会数组,而数组属于引用数据类型,所以在数组传递进函数中去之后任何修改结果也将保存下来。如:
public class Demo{
public static void main(String[] args){
int score[] = fun();
for(int x = 0; x < score.length; x++)
System.out.println(score[x]);
}
public static int[] fun(){
int ar[] = {12,3,87,9};
return ar;
}
}
结果为
12
3
87
9
例子:复制数组中的一段内容
public class Demo{
public static void main(String[] args){
int x[] = {1,2,3,4,5,6,7,8,9};
int y[] = {11,22,33,44,55,66,77,88,99};
copy(x,4,y,2,2);
print(y);
}
public static void copy(int s[], int s1, int o[], int s2, int len){
for (int i = 0; i < len; i ++)
o[s2 + i] = s[s1 + i];
}
public static void print(int p[]){
for(int i = 0; i < p.length; i ++)
System.out.print(p[i] + " ");
}
}
结果为11 22 5 6 55 66 77 88 99
可变参数:接受的参数不是固定的,而是以需要传递的
public class Demo{
public static void main(String[] args){
fun(1);
fun(1,2,3);
fun(1,1,1,1,1);
}
public static void fun(int...arg){
for(int i = 0; i < arg.length; i ++){
System.out.print(arg[i] + " ");
}
System.out.println("");
}
}
结果为
1
1 2 3
1 1 1 1 1