值传递
详情
值传递 (Pass by Value)
- 当我们传递一个基本数据类型时,传递的是该值的副本。函数对副本进行修改不会影响原始值。
- Java 中 基本数据类型 的传递就是值传递。
示例代码
public class ValuePassing {
public static void modifyValue(int num) {
System.out.println("方法内部修改前:num = " + num);
num = 20; // 修改的是参数的副本
System.out.println("方法内部修改后:num = " + num);
}
public static void main(String[] args) {
int originalValue = 10;
System.out.println("调用方法前:originalValue = " + originalValue);
modifyValue(originalValue); // 将 originalValue 的值(10)复制一份传递给 modifyValue 方法
System.out.println("调用方法后:originalValue = " + originalValue);
}
}
输出结果:
调用方法前:originalValue = 10
方法内部修改前:num = 10
方法内部修改后:num = 20
调用方法后:originalValue = 10
解释:
- 在
main 方法中,originalValue 的初始值是 10。
- 当调用
modifyValue(originalValue) 时,originalValue 的值 10 被复制一份传递给了 modifyValue 方法的参数 num。
- 在
modifyValue 方法内部,对 num 的修改(num = 20;)仅仅改变了方法内部 num 这个副本的值,不会影响到 main 方法中的 originalValue。
- 因此,方法调用结束后,
originalValue 的值仍然是 10。
关联网络
演化日志
- v0.1 (2025-05-18):初始版本
- v0.2 (2026-01-30):补充关联网络、演化日志