Java后端——Attention Day 1
后端前面的基础很简单,但是学到数组有的同学就感觉有问题了。其实数组确实优点“绕”。
1、首先是数组的定义:
- 数据类型[ ] 数组名 = new 数据类型[ 数组大小];
以上就是对数组的定义,这是new出来的,一说到new就不得不说JVM对内存的分配了。
JVM也就是Java虚拟机,你只要知道new出来的东西都在堆(Heap)里面就行,定义出来的在栈(Stack)里面。
2、数组的初始化:
- int[ ] 数组名 = {元素1,元素2,元素3,…};
- int[ ] 数组名;数组名 = new 数据类型[ ] {元素1,元素2,元素3,…}
以上两种方式就是对数组的初始化,初始化就是把数组写死了,并不能动态管理,所以不是很方便。
3、增强for循环:
格式:
for ( 数组类型 变量名:数组名 ) {
//代码块;
}
注意:增强for循环一定要有目标。
4、使用System.arraycopy( )方法可以实现数字组的复制
public static native void arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);
注意:这里的System.arraycopy( )是void方法,没有返回值。
- src:源数组
- srcPos:源数组中的起始位置
- dest:目标数组
- destPos:目标数组中的起始位置
- length:要复制的数组元素的数量
5、使用Array.copy( )方法,简便的实现数组的扩容(缩容):
数组的长度在创建后是不可以改变的,所谓的扩容实际是指创建一个更大的新数组并将原有的数组内容复制到其中。
int[] arr = new int[];
arr = Arrays.copyOf(arr,arr.length+1)//方法中的两个值分别为:源数组和扩容后的长度
注意:这里的copyOf方法使用的了arr来接收,不是void方法,而是带返回值的int[ ]方法。扩容后的长度可以加可以减,加就是增加数组长度,减就是缩小数组长度。
PS:如有不当之处,还望指正!😺