什么是数组:就是一堆相同类型的数据放一堆(一组相关变量的集合)
定义语法:
1.声明并开辟数组
数据类型 数组名[] = new 数据类型[长度];
2.分布完成
- 声明数组:数据类型 数组名 [] = null;
- 开辟数组:数组名 = new 数据类型[长度];
public class test2 {
public static void main(String args[]) {
int arr[] = new int[];
arr[] = ;
arr[] = ;
arr[] = ;
for(int i=;i<;i++) {
System.out.println(arr[i]);
}
}
}
内存分析:
- 声明并开辟数组
2.分布完成
数组内存引用
数组是一个引用数据类型
public class test2 {
public static void main(String args[]) {
int arr[] = new int[];
arr[] = ;
arr[] = ;
arr[] = ;
int arr_tem[] = arr;
arr_tem[] = ;
for(int i=;i<;i++) {
System.out.println(arr[i]);
}
}
}
//输出为
100
以上方法都是数组的动态初始化,都是为数组先开辟空间,之后再赋值。这里,就会联系到之前学习的构造方法了(再实例化对象时产生默认值),下面将介绍数组的两种静态初始化方法。
简单方法:int arr[] = {值,值,值......} //尽量不要用
完整方法:int arr[] = new int[] {值,值,值......}
public class test2 {
public static void main(String args[]) {
int arr[] = new int[] {1,2,3};
int arr_tem[] = arr;
arr_tem[0] = 100;
for(int i=0;i<3;i++) {
System.out.println(arr[i]);
}
}
}
数组操作方法:
- System.arraycopy(源数组,源数组索引,目标数组,目标数组索引,长度)
public class test2 {
public static void main(String args[]) {
int arr_1[] = new int[] {1,2,3,4,5,6,7 };
int arr_2[] = new int[] {11,22,33,44,55,66,77 };
System.arraycopy(arr_1, 2, arr_2, 2, 3);//将数组2替换为11,22,3,4,5,66,77
for(int i=0; i<arr_2.length; i++) {
System.out.println(arr_2[i]);
}
} }
- java.util.Arrays.sort()
public class test2 {
public static void main(String args[]) {
int arr[] = new int[] {1,3,2,9,5,7,6,4};
java.util.Arrays.sort(arr);
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
}
}