栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

值传递和引用传递的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

值传递和引用传递的区别

package com.qq.demo02;

import java.util.Arrays;


public class ParamTest {

    
    public static void test1(int n){
        n=2;
        System.out.println("方法中n = " + n);
    }

    
    public static void test2(int[]arr){
        arr[1]=100;//改变数组对象0下标的元素
        System.out.println("方法中arr = " + Arrays.toString(arr));
    }

    public static void main(String[] args) {
        //值传递测试
        int n = 1;
        test1(n);
        System.out.println("外部n = " + n);
        //引用传递测试
        int[]arr={1,2};
        test2(arr);
        System.out.println("外部arr = " + Arrays.toString(arr));

        //把对象在堆内存的首地址(位置)保存给不同的变量
        int[]brr = {100,20,30,45};

        int[]crr = brr;
        int[]drr = brr;
        //请问:brr、crr、drr,一共几个数组?
        // 1个(三个变量保存的是同一个对象的地址,表示的是同一个数组对象)

        drr[1] = 200;//改变crr变量保存的数组对象的元素,另外两个变量也跟着改变
        System.out.println("brr[0]"+brr[0]);//200
        System.out.println("brr[0]"+crr[0]);//200
        System.out.println("brr[0]"+drr[0]);//200



    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1014228.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号