一维数组的使用
/* >数组名
* >元素
* >角标、下标、索引
* >数组的长度:元素的个数
*
* 3.数组的特点:
* 1)数组是有序排列的
* 2)数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型
* 3)创建数组对象会在内存中开辟一整块连续的空间
* 4)数组的长度一旦确定,就不能修改。
*
* 4. 数组的分类:
* ① 按照维数:一维数组、二维数组、。。。
* ② 按照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组
*
* 5. 一维数组的使用
* ① 一维数组的声明和初始化
* ② 如何调用数组的指定位置的元素
* ③ 如何获取数组的长度
* ④ 如何遍历数组
* ⑤ 数组元素的默认初始化值 :见ArrayTest1.java
* ⑥ 数组的内存解析 :见ArrayTest1.java
*/
public class ArrayTest {
public static void main(String[] args) {
//一维数组的声明和初始化
int num;//声明
num = 10;//初始化
int id = 1001;//声明加初始化
int[] ids;//声明
//静态初始化:数组的初始化和数组元素的赋值操作同时进行
ids=new int[] {1001,1002,1003,1004};
//动态初始化:数组的初始化和数组元素的赋值操作分开进行
String[] names=new String[5];
int[] arr4 = {1,2,3,4,5};//类型推断
//总结:数组一旦初始化完成,其长度就确定了。
//如何调用数组的指定位置的元素:通过角标的方式调用。
//数组的角标(或索引)从0开始的,到数组的长度-1结束。
names[0]="迪迦";
names[1]="赛罗";
names[2]="高斯";
names[3]="戴拿";
names[4]="玛丽";
//如何过去数组的长度
//属性:length
System.out.println(names.length);//5
System.out.println(ids.length);
//遍历数组
for(int i=0;i<names.length;i++) {
System.out.println(names[i]);
}
}
}
二维数组的使用
/*
* 1.理解:
* 对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。
* 其实,从数组底层的运行机制来看,其实没有多维数组。
*
* 2. 二维数组的使用:
* ① 二维数组的声明和初始化
* ② 如何调用数组的指定位置的元素
* ③ 如何获取数组的长度
* ④ 如何遍历数组
* ⑤ 数组元素的默认初始化值 :见 ArrayTest3.java
* ⑥ 数组的内存解析 :见 ArrayTest3.java
*
*
*/
public class Arraytest2 {
public static void main(String[] args) {
//二维数组的声明和初始化
int [] arr =new int[] {1,2,3};//一维数组
//静态初始化
int [][] arr1=new int[][] {{1,2,3},{4,5},{6,7,8}};
//动态初始化1
String [][] arr2=new String[3][2];
//动态初始化2
String[][] arr3 = new String[3][];
int[] arr4[] = new int[][]{{1,2,3},{4,5,9,10},{6,7,8}};
int[] arr5[] = {{1,2,3},{4,5},{6,7,8}};
//如何调用数组的指定位置的元素
System.out.println(arr1[0][1]);//2
System.out.println(arr2[1][1]);//null
arr3[1]=new String[4];
System.out.println(arr3[1][0]);
//获取数组的长度
System.out.println(arr4.length);
System.out.println(arr4[0].length);
System.out.println(arr4[1].length);
System.out.println("======================");
//如何遍历二维数组
for(int i=0;i<arr4.length;i++) {//控制数组角标
for(int j=0;j<arr4[i].length;j++) {//控制元素角标
System.out.println(arr4[i][j]+" ");
}
System.out.println();
}
}
}
二维数组的内存分配举例