JavaSE学习日记之数组
一、为什么要使用数组?
数组中存储的数据都是类型相同,且长度固定的。例如,当我们需要在程序中存储大量int类型的数据,那我们就需要对每个数据都用变量去接收,这样的代码冗余度是很大的。而使用数组,可以把这些数据收集到一起,调用查看都很方便。
二、数组
a、数组的创建
数组的创建常见的有四种方式,其中可以直接给数组a[]添加数据,这样系统会自动分配存储空间。还可以先声明大小,不添加数据。
b、数组中添加数据
数组下标是从0开始的
c、数组的扩容
在某些情况下,先前已经填充了数据的数组已经满了之后就需要进行数组的扩充。
数组的扩充:创建一个空间比原来更大的数组,把原来数组的数据复制到新数组中,进行数组的扩充。
理解记忆:
1、创建的新数组空间要比原来的数组空间大,所以用原来的数组长度+1。
2、因为需要进行copy操作,所以遍历之前的数组,每遍历一个数据把它赋值到新数组(因为之前定义了新数组的大小,所以不必考虑数据溢出的问题)。
3、最后打印一下新数组,由于数组中有很多数据,所以不能直接System.out.println(dest[0]),要把它当做一个字符串然后进行输出。
d、系统自带的扩容方法
arraycopy()方法中从左至右,分别是原数组、原数组起始copy下标、新数组、新数组copy数据存储下标、copy长度。
copyOf()方法其实本质就是arraycopy(),只是把该方法中的两个位置下标都锁死为0(即原数组和新数组)。
e、可变长参数
没搞懂!每天再看!
总结
还有好多没弄懂的,值传递和地址传递还没理解好。