java中的值传递和引用传递

本文深入探讨了Java中的值传递和引用传递。值传递在方法调用时,实参的值不会因方法内操作而改变;而引用传递则是方法接收的是对象的引用,对形参的修改直接影响实参。示例代码展示了这两种传递方式的差异,通过改变数组元素值的案例,清晰地说明了引用传递的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.值传递

指的是在方法调用时,实参的值传递给其形参,方法执行的过程中形参的值改变但不影响实参的值。

public class test {
        public static void change(int a, int b){

            int temp =a;
            a =b;
            b =temp;

        }
        public static void main(String[] args) {
            int a =3;
            int b =4;
            change(a, b);
            System.out.println("a="+ a +"     "+"b="+b);

        }
}

输出:

a=3 b=4

2.引用传递

也叫做地址传递,方法调用时将实际参数的引用(其实该对象的地址)传递给方法中对应的形式参数,方式执行的过程中,对形式参数的操作实际就是对实际参数的操作,所以形式参数值的改变将会改变实际参数值的改变。

public class test {
    public static void change(int[] arr){
        arr[0] = 1;
    }
    public static void main(String[] args) {
        int[] arr = {10,2,3,4};
        change(arr);
        System.out.println(arr[0]);
    }
}

输出结果:

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值