一、关于变量的赋值
如果变量是基本数据类型,此时赋值的是变量所并保存的数据值。
如果变量是引用数据类型,此时赋值的是变量所并保存的数据的地址值。
二、值传递机制
形参:方法定义时,声明的小括号中的参数
实参:方法调用时,实际传递给形参的数据
易错
实参为基本数据类型
参数并没有进行交换
分析内存结构
就是说,在实参将数据值传递给形参之后,在函数swap中只是将两个形参得到的值进行了交换,只是将swap方法里的m和n进行了交换,没有对实参进行改变,所以结果没有体现交换
实参为引用数据类型
内存解析
因为引用数据类型的值是一个地址,所以再调用swap方法后,在swap方法中对这个地址中的变量m和n进行了修改,所以main方法中的引用变量(实参)所指向的变量中的m和n也被改变,此时输出的值改变成功。
值传递机制
如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值
如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值
改正
将基本数据类型改成引用数据类型
练习1
内存结构
答案
输出:15 0;20
练习2
练习3
char型输出的是abc的主要原因是,当传入的参数为char型时,调用的println方法其实方法体中是对char型数组进行遍历
三、递归
四、每日一考
答案:
1、“两同一不同”:类相同,方法名相同,参数列表不同
2、基本数据类型时,传递的是基本数据类型的值
引用数据类型时,传递的是地址值(包含数据类型)
比如一个person类型的对象不能赋给一个user类型的变量
4、①结束方法
②返回数据