数组 :
一组相关类型的变量集合并且这些变量可以按照统一的方式进行操作
数组动态初始化:
数据类型[ ] 数据名称 = new 数据类型 [长度]
eg:1.int [ ]x = new int [3];
public class Test3 {
public static void main(String[] args){
int[] x = new int[3];//数组动态初始化,有new出现就在堆上开辟新空间;数组是引用数据类型
System.out.println(x.length);
x[0]=1;
x[1]=2;
x[2]=3;
for(int i=0;i<x.length;i++){
System.out.println(x[i]);
}
}
}
2.int [ ]x = null;
x = new int [3];
数组属于引用数据类型,因此在使用之前一定要开辟空间。
引用传递:传递的只是地址值
数组作为引用数据类型,也一定可以发生引用传递。
引用空间传递:同一块堆内存可以被不同的栈内存所指向。
//多个栈内存指向相同的堆内存:
public class Test3{
public static void main(String[] args){
int[]x=new int[3];
int[]temp=new int[3];
System.out.println(x.length);
x[0]=1;
x[1]=2;
x[2]=3;
for (int i=0;i<x.length;i++){
System.out.print(x[i]+"\t");
}
System.out.println();
temp=x;
temp[0]=120;
System.out.println(temp[0]);
}
}
数组静态初始化:
数据类型[ ] 数组名称 = new 数据类型[ ]{ 值,值,值,...}
//数组静态初始化:
public class Test3 {
public static void main(String[] args) {
int[] x = new int[]{1, 2, 3};
System.out.println(x.length);
for (int i = 0; i < x.length; i++) {
System.out.print(x[i] + "\t");
}
}
}
简化格式:数据类型[ ] 数组名称 ={ 值,值,...}
匿名数组:没有任何栈内存指向的数组空间,并且匿名数组只能使用完整格式且只能使用一次。
数组与方法进行互相操作
public class Test3{
public static void main(String[] args){
int[] data=new int[]{1,2,3,4};
printArray(data);//方法接收数组
bigger(data);//修改数组
}
public static void printArray(int[] temp){
for (int i=0;i<temp.length;i++){
System.out.print(temp[i]+"\t");
}
System.out.println();
}
public static void bigger(int[] temp){
for (int i=0;i<temp.length;i++){
temp[i]*=2;
System.out.print(temp[i]+"\t");
}
System.out.println();
}
}