Java数组
-数组是一个存放多个数据的容器
-数据是同一类型
-所有的数据是线性规则排列
-可通过位置索引来快速定位访问数据
-需要明确容器的长度
一维数组
public class ArrayTest {
public static void main(String[] args) {
int a[]; //a 还没有new操作 实际上是null,也不知道内存位置
int[] b; //b 还没有new操作 实际上是null,也不知道内存位置
int[] c = new int[2]; //c有2个元素,都是0
c[0] = 10; c[1] = 20; //逐个初始化
int d[] = new int[]{0,2,4};//d有3个元素, 0,2,4,同时定义和初始化
int d1[] = {1,3,5}; //d1有3个元素, 1,3,5 同时定义和初始化
//注意声明变量时候没有分配内存,不需要指定大小,以下是错误示例
//int e[5];
//int[5] f;
//int[5] g = new int[5];
//int h[5] = new int[5];
//遍历需要自己控制索引位置
for(int i=0;i<d.length;i++) {
System.out.println(d[i]);
}
//遍历无需控制索引位置
for(int e : d) {
System.out.println(e);
}
}
}
-数组索引一数组的length属性标识数组的长度
-数据从0开始,到length-1
多维数组
-数组的数组
-存储是按照行存储原则
public class MultiDimArrayTest {
public static void main(String[] args) {
//Java多维数组是按照行存储
//规则数组
int a[][] = new int[2][3];//两行三列矩阵
//不规则数组
int b[][];
b = new int[3][];//三行矩阵
b[0]=new int[3];//矩阵第一行有3个元素
b[1]=new int[4];//矩阵第二行有4个元素
b[2]=new int[5];//矩阵第5行有5个元素
//遍历矩阵赋值
int k = 0;
for(int i=0;i<a.length;i++)//矩阵a的第i行
{
for(int j=0;j<a[i].length;j++)//矩阵a第i行的第j个元素
{
a[i][j] = ++k;
}
}
for(int[] items : a)//遍历矩阵的每行,行也是一个数组,所以是int[]
{
for(int item : items)//遍历每行的元素,所以是int
{
System.out.print(item + ", ");
}
System.out.println();
}
}
}