**
1.按值传递
**
1.分析如下Java程序的代码所示,则编译运行后的输出结果是( )
public static void main(String[] args) {
int a =10;
change(a);
System.out.println(a); //10
}
public static void change(int a){
a=100;
}
2.分析如下Java程序的代码所示,则编译运行后的输出结果是( )
public static void main(String[] args) {
int[] array={9,8,7,6,5,4};
change(array);
for (int x:array) {
System.out.println(x); // 9 8 7 6 5 4
}
}
public static void change(int [] arr){
int[] temp ={1,2,3,4,5};
arr=temp;
arr[0]=10000000;
}
**
2.按引用传递
**
1.分析如下Java程序的代码所示,则编译运行后的输出结果是( )
public static void main(String[] args) {
int[] a={1,2};
change(a);
System.out.println(a[0]); //100
}
public static void change(int[] arr){
arr[0]=100;
}
2.分析如下Java程序的代码所示,则编译运行后的输出结果是( )
public class Test {
int count=9;
public void count1(){
count=10;
System.out.println("count1="+count);
}
public void count2(){
System.out.println("count2="+count);
}
public static void main(String[ ] args) {
Test t=new Test();
t.count1(); //10
t.count2(); //10
}
}
结论:
1.如果参数 是引用类型 默认使用按引用传递
2.如果参数 是基本数据类型 默认按值传递