数组
数组的创建:
数据类型[] 变量名 = new 数据类型[数组长度];
数据类型[] 变量名;
变量名 = new 数据类型[数据长度];
数据类型[] 数组名 = new 数据类型[]{ 元素1,元素2…};
数据类型[] 数组名 = { 元素1,元素2…};
遍历:从头到尾,逐一对数组的每一个元素进行访问。
数组的默认值:
整数:0
小数:0.0
字符:\u0000(空格)
布尔:false
其他:null
数组的扩容
问题:创建数组时,必须显示指定长度,在创建过后长度不可变。
解决:创建一个长度大于原数组长度的数组,并将原数组数据写入。
public class Test{
public static void main(String[] args){
//原数组
int old = new int[]{1,2,3,4};
//扩容
int newT = new int[old.length * 2 ];
for(int i = 0;i<old.length;i++){
newT[i] = old[i]
}
}
}
**数组的复制方法:
System.arraycopy(原数组,原数组起始,新数组,新数组起始,需要的原数组长度);
java.util.Arrays.copyOf(原数组,新长度);//返回带有原值的新数组。
**
数组插值
public class TestList{
static int nums[] = new int[5];
static int index = 4;//有效元素个数,也代表下一个无效元素
public static void main(String[] args){
nums[0] = 11;
nums[1] = 22;
nums[2] = 33;
nums[3] = 44;
insert(55);
print();
}
//向数组中插入一个新元素。
public static void insert(int value){
nums[index] = value;
index++;
}
public static void print(){
for(int i = 0;i<index;i++){
System.out.print(nums[i]+"\t");
}
System.out.println();
}
}
数组类型的参数
数组也可以作为函数的参数进行传递
JVM栈空间(局部变量)
Heap堆空间(对象、数组)
Java中所有的对象必须分配在堆空间
基本类型的赋值等价于复制,
引用类型的赋值,指的是指针指向变量名