【基础学习】形参、实参值传递

本文深入探讨了编程中的值传递和引用传递概念。重点解析了基本数据类型、字符串、对象数组以及自定义对象在参数传递中的行为。强调了字符串和包装类的不可变性,以及如何影响方法调用后的变量状态。同时,文章通过实例解释了地址值传递如何导致堆中值的变化,并分析了不同数据类型的内存影响。

在这里插入图片描述
运行结果:

i = 1;
str = "hello";
num = 2;
arr = {2,2,3,4,5};
my.a = 11;

解析:
要点1、基本数据类型是值传递,形参j在方法栈中使用完就没了,所以不会影响I
要点2、包装类、引用类型是地址值传递
要点3、字符串和包装类是不可变的

所以我们通过要点1能够知道,i是值传递不会影响i,要点2指出str、num、arr、my都是地址值转递,会影响堆中的值,但是要点3指出字符串和包装类是不可变的,内存里面会重新创建一个新的地址,形参s、n都是指向新的地址,实参str、num指向原本的地址,所以str、num不会发生改变,实参arr、my随着指向的地址中的值发生改变而改变。

这里是引用
https://www.bilibili.com/video/BV1Eb411P7bP?p=4

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值