Java中基本数据类型参数传递本质是数值副本传递:实参值被完整复制给形参,二者在栈中独立存储,形参修改不影响实参,方法结束后形参自动销毁。

Java 中基本数据类型在方法间传递,本质是复制数值本身。实参的值被完整拷贝一份给形参,两者在栈内存中各自占据独立空间,互不影响。
传递过程:只传“数”,不传“人”
比如 int a = 5 作为实参传入方法,JVM 会把数字 5 这个二进制值原样复制给形参变量。形参后续怎么改(如改成 100),都不会波及原始的 a。
- 形参和实参是两个不同的栈变量,地址不同
- 修改形参只是改了副本,原始变量毫发无伤
- 方法结束,形参变量自动销毁,对实参零干扰
典型表现:无法通过方法交换两个基本类型变量
写一个 swap(int x, int y) 方法,无论内部如何交换 x 和 y,调用后原始变量值始终不变——因为交换的只是两份拷贝。
哪些类型属于基本数据类型
共 8 种,全部按此规则传递:
立即学习“Java免费学习笔记(深入)”;
-
byte、short、int、long -
float、double charboolean
关键提醒:别被“变量名相同”误导
即使形参也叫 a,它也不是原来的 a,而是拿着相同数字的新变量。就像你把银行卡余额截图发给朋友,他拿截图去涂改,你的卡里钱一分不会少。


















