java基础第二十八篇 java的值传递机制

Java里方法的参数传递方式只有一种:值传递

即将实际参数值的副本 (复制品)传入方法内,而参数本身不受影响

 

形参:方法声明时的参数

实参方法调用时实际传给形参的参数值



 如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值
 如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值

 

参数是基本数据类型,交换两个的变量的值:

package myTest;

public class ValueOrderTest3 {
    int n ;
    int m ;

    public static void main(String args[]) {



        ValueOrderTest3 v3 = new ValueOrderTest3();
        v3.n=10;
        v3.m=20;

        System.out.println("n:" + v3.n + " " + "m:" + v3.m);

        v3.swap(v3.n, v3.m);

        System.out.println("n:" + v3.n + " " + "m:" + v3.m);


    }

    public void swap(int n, int m) {

        int temp = n;
        n = m;
        m = temp;

    }


}

输出:

结果并没有改变,此时实参赋给形参的是实参真实存储的数据值,不改变类原来的属性值。

 

 

参数是引用数据类型,交换两个的变量的值:

package myTest;

public class ValueOrderTest2 {
    int n;
    int m;

    public static void main(String args[]) {
        ValueOrderTest2 v2 = new ValueOrderTest2();

        v2.n = 10;
        v2.m = 20;

        System.out.println("n:" + v2.n + " " + "m:" + v2.m);

        v2.swap(v2);

        System.out.println("n:" + v2.n + " " + "m:" + v2.m);

    }



    public void swap(ValueOrderTest2 v2){
        int temp = v2.n;
        v2.n = v2.m;
        v2.m = temp;
    }

}

输出:

结果改变了,交换成功了,此时实参赋给形参的是实参存储数据的地址值,类原来的属性值改变了。

 

参考来自尚硅谷

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随风而行无疾而歌

看官,觉得不错,奖励一下呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值