持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,[点击查看活动详情]
传参传的是地址。
基本数据类型传参
传的是常量在常量池中的地址。
基本数据类型是原子型数据,就是不可再分。
引用数据类型传参
传的是对象在对堆内存中的地址
引用数据类型是对象,是复合型数据,当前对象数据中,其实还包括了其他更多的子数据
复合型数据:指的是由多个基本数据类型或其他的引用数据组成的一个数据。\
形参,实参
形参变量永远不可能去改变实参中已存储的数据地址。就算形参变量所存储的数据地址被改变,那也是改变形参自己,与实参无关。无非是形参拿到的是实参的引用数据类型的话,(实参本身指的是一个对象,然后把这个对象的地址传递给了形参,形参就可以通过该地址去堆内存中找对象,可以修改对象中数据。实参再去访问对象时,对象中的数据就已经被改变,因为实参和形参目前使用操作的都是同一个对象)。
无论实参还是形参,实参就是把变量空间所存的地址给了形参而已,他们都是变量,所以对变量的修改而言,要么改变该变量空间所存储的数据地址。要么改变该变量空间所存储的数据地址所指向的对象中的数据。
String【】 args
主函数里。public:权限。static:函数类型,静态类型。void:当前函数返回类型,无。main:函数名叫main.String的一维数组,名字叫args,主要用在当我们执行JAVA程序(JAVA字节码文件)的时候,可以指定一些参数的。
可变长度参数 multiArguments()
用于再给一个函数传参时不确定具体传参数的个数的话,可以使用可变长参数(这些参数必须相同的类型).本质上就是一个数组。如果可变长参数和固定参数同时存在的,那么可变长参数必须在参数列表的最后面。一个参数列表中最多只能出现一个可变长参数,如有多个可变长参数编译报错。
foreach循环
其实是一个简化过后的for循环
for(循环数据类型 循环变量名 : 可迭代对象){
循环体;
}
数组是可迭代对象当中的一种,并且数组可以通过角标访问。并不是所有的可迭代对象都有角标支持。
Arrays类
是关于数组的工具类。
Math,Scanner,String(不是工具类)工具类。
函数(查看API)\
多返回值处理
JAVA的函数仅仅只能返回单一的值。
将个值分装在一个数组中,通过集合,映射,来返回多个值