1.
import java.util.Scanner;
public class test1 {
public static void main(String args[]) {
//基本数据类型的赋值,赋值方式为拷贝
int n1 = 10;
int n2 = n1;
n2=80;
System.out.println(n1);
System.out.println(n2);
}
}
其实按照c也可以解释,n1,n2是村纯在不同的内存单元,n2=n1只是进行了把a的值传递给n2,而与内存单元无关,所以再对n2赋值就不会影响n1。
import java.util.Scanner;
public class test1 {
public static void main(String args[]) {
//基本数据类型的赋值,赋值方式为拷贝
int n1 = 10;
int n2 = n1;
n2=80;
System.out.println(n1);
System.out.println(n2);
//数组在默认情况下是引用传递,赋的值是地址,赋值方式为引用传达
int[] arr1 = {1,2,3};
int[] arr2 = arr1;
arr2[0] = 10;
for(int i=0;i
数组也可以用c来解释,c中数组的名字就可以代表数组的地址(一个数组名就是一个地址),所以当两个数组进行赋值操作就不再是值传递,而是地址。
值传递 是在栈区进行 存储在栈区
引用传递 实际存储在堆区



