0
点赞
收藏
分享

微信扫一扫

(JAVA):“值拷贝”和“引用赋值”易错易混的地方。

infgrad 2022-03-19 阅读 41

目录

前言:

1、什么是值拷贝?

2、什么是引用赋值?

3、例子:

(1)代码1:值拷贝

(2)代码2:引用赋值 

4、代码纠正: 


前言:

1、什么是值拷贝?

2、什么是引用赋值?

3、例子:

(1)代码1:值拷贝

        int n1 = 10; //初始化
        int n2 = n1; //初始化
        
        n2 = 80; //改变n2的值

        System.out.println(n1); //结果为10
        System.out.println(n2); //结果为80

(2)代码2:引用赋值 

        int[] arr1 = { 1, 2, 3}; //数组初始化
        int[] arr2 = arr1;  //数组初始化
        
        arr2[0] = 10; //改变第二个数组的第一个元素
        
        System.out.println(arr1[0]); //结果为10
        System.out.println(arr2[0]); //结果为10

4、代码纠正: 

        int[] arr1 = { 1, 2, 3}; //赋初值
        int[] arr2 = new int[arr1.length]; //开辟新的堆,然后再赋值

        arr2[0] = 10; //改变其中一个值

        System.out.println(arr1[0]); //结果为1
        System.out.println(arr2[0]); //结果为10
举报

相关推荐

0 条评论