目录
一、值传递规则
1.基本数据类型
基本数据类型在使用等号赋值时,传递的数据是栈空间的数据,而非堆空间中的;
基本数据类型的栈空间存放的是具体的数据,因此赋值时也是具体的数据。
2.引用数据类型
引用数据类型在栈空间存放的是地址值,因此赋值时传递的是地址值;
如果改变了地址值指向的堆空间的数据,则栈空间地址值指向该堆空间的变量的数据都会改变;
因此引用数据类型是可以改变堆空间的数据的。
3.String类
String类型比较特殊,String类实参赋值给形参后,再在方法内将新的数据赋值给形参时,数据会生成新的地址值并赋予形参,实参的地址值并不会发生改变。
因此String类型的实参不会因为形参在方法内被重新赋值后改变。
4.案例:冒泡排序中的值交换
1)目标:构造一个方法替换掉冒泡排序中的值交换部分。
2)代码实现: