简介
本人小白,初学Java,大牛勿喷,如有错误,请及时指正,感谢!
数组
存储在堆中的一段连续的内存空间,空间大小
由程序员创建时指定。(也就是说数组空间开辟后,数组的大小是固定的)
数组的要素:数组名
、数据类型
、元素
、下标
、数组长度
- 元素:数组中元素的数据类型一定是相同的
- 下标:数组的索引,从0开始,下标的范围在 0 <= index < 数组长度
- 数组长度:表示数组最大能包含的相同类型元素个数
声明数组
声明数组并没有为数组开辟空间
语法: 数据类型[] 数组名;
例如:
int[] array01;
int[] array02;
String[] strs01;
String[] strs02;
开辟数组
语法: 数组名 =
new
数据类型[数组长度]
//不为数组元素赋初值,给定数组长度
array01 = new int[100];
strs01 = new String[100];
//为数组元素赋初值,数组长度由元素个数而定
array02 = new int[]{1,2,3,4};//或 array02 = {1,2,3,4};
strs02 = new String[]{"Hello","no","yes"}; //或 strs02 = {"Hello","no","yes"};
用
new
的方式创建数组,程序会初始化那些被没有赋值的
数组的元素,为其数据类型的默认值
//所以在上面没有赋值的情况下,对数组元素进行访问,是可行的
System.out.println(array[0]); //输出值为 0
System.out.println(strs[0]); //输出值为 null
数组元素的赋值
语法: 数组名[ 下标 ] = 值 ;
array[0] = 1;
array[1] = 100;
strs[0] = "Hello World!";
strs[1] = "good morning!";
数组元素的获取
获取数组元素,我们可以对其进行相应的操作。
语法: 数组名[下标];
//例如:
System.out.println(array[1] + strs[1]); //输出 100good morning!
注意: 数组的赋值和获取,都涉及数组下标的操作,所以初学者容易出现数组下标越界的问题ArrayIndexOutOfBoundsException
,这是因为下标不在 0 ~ (数组长度-1)的范围内,就会出现报错。
二维数组
二维数组由多个一维数组
组成;
- 创建二维数组
数据类型 [][] 数组名 = new 数据类型[长度1][长度2];
长度1:表示二维数组包含的一维数组个数。
长度2:表示一维数组的元素个数。
//规定元素个数
int[][] array01 = new int[3][3]; // 共 3*3 = 9 个元素
//元素个数由内容决定
//一维数组长度可以不一样
int[][] array02 = { {1,2,3},{4,5,6},{7,8,9,10,11}};
int[][] array03 = new int[][]{ {1,2,3},{4,5,6},{7,8,9,10,11}};
//还可以这样创建二维数组,可以直观的看出二维数组是由多个一维数组组成
int[][] array04 = new int[3][];
array[0] = new int[4];
array[1] = new int[3];
array[2] = new int[2];