数组对于所有编程语言来说都是重要的数据结构之一,Java 语言中提供的数组是用来存储固定大小的同类型元素
数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。
1.声明数组变量
必须声明数组变量,才能在程序中使用数组。
下面是声明数组变量的语法格式:
元素类型[] 数组名;
// 推荐用的方式
元素类型 数组名[];
// 效果相同,但基本不用这种方法
例子:
byte[] arrayByteA;
int[] arrayIntA;
long[] arrayLongA;
String[] arrayStringA;
2.数组初始化
数组的初始化主要有两种:
静态初始化和动态初始化
2.1静态初始化:
格式:
元素类型 数组名 = {元素1,元素2...};
元素类型 数组名 = new 元素类型[]{元素1,元素2...};
数组的元素是通过索引访问的。数组索引从 0 开始,所以索引值从 0 到数组长度-1。
例子:
int[] arrayIntA=new int[]{1,2,3,4,5};
2.2动态初始化
格式:
元素类型 数组名[] = new 元素类型[元素的个数];
例子:
String[] arrayStringA=new String[5];
3.数组引用
Java中通过下标来引用数组元素:arrayName[index];
Java会对数组元素进行越界检查以保证安全性,每个数组都有一个length属性来指明他的长度,例如arrayIntA.length指明数组arrayIntA的长度
例子:
//赋值
arrayIntA[2]=9;
//取值
System.out.printIn(“arrayIntA的第三个元素是:”+arrayInt[2]);
4.数组的遍历
4.1for循环遍历数组
例子:
//遍历数组赋值
for(int i = 0; i <arrayStringA.length; i++>){
arrayStringA[i]=String.valueof(i);
}
//遍历数组取值
for(int i = 0; i < arrayStringA.length;i++){
System.out.printIn(arrayStringA[i]);
}
4.2for循环加强版
Java5 引入了一种主要用于数组的增强型for循环。但需要注意一点:Java增强型for循 环只能取值,不能赋值
例子:
int[] ints = { 1,2,3,4,5,6,7,8,9,10};
for (int x : ints) {
System.out.print(x);
System.out.print(",");
}
System.out.print("\n");
String[] strs = { "string1", "string2", "string3", "string4" };
for (String str : strs) {
System.out.print(str);
System.out.print(",");
}
5.二维数组
二维数组的声明、初始化和引用与一维数组相似:
例子
int[][] arrayA=new int[][]{{1,2},{3,4},{5,6}};
int[][] arrayB=new int[2][2];
arrayB[0][0]=0; arrayB[0][1]=1;
arrayB[1][0]=2; arrayB[1][1]=3;
注意:Java语言中,把二维数组看作是数组的数组,数组空间不是连续分配的。所以 不要求二维数组每一维的大小相同
int[][] arrayC=new int[][]{{1},{2,3},{4,5,6},{7,8,9,10}};
int[][] arrayD=new int[3][];
arrayD[0]=new int[]{1};
arrayD[1]=new int[]{2,3};
arrayD[2]=new int[]{4,5,6};