知识点:1.数组的定义和初始化 2.一维数组和多维数组
一、数组
首先我们来看一张图片,此图片引于网络。
数组之中,我们可以通过下标来获取元素的值,值得注意的是,学习了编程之后,数数要从0开始,
也就是我说,我们的下标也是从0开始,到数组结尾-1结束。
例如上述图片 想要获取10,那就是ages[0]就可以获取到10了。
1.语法
数据类型[ ] 数组名; //或者: 数据类型 数组名[ ];
其中,数组名可以是任意合法的变量名,如:
int ages[]; //存放年龄的数组,类型为整型 char symbol[]; //存放符号的数组,类型为字符型 String [] name; //存放名称的数组,类型为字符串型
当我们声明了数组之后,我们要为数组分配空间,也就是定义多大的数组。
语法:
数组名 = new 数据类型 [ 数组长度 ];
数组长度就是数组最多可存放元素的个数。我们也可以在数组声明的时候初始化数组,或者在声明时就为它分配好空间,这样我们就可以不用再为数组分配空间。
语法:
int [] ages = {12,18,9,33,45,60}; //声明并初始化了一个整型数组,它有6个元素 char [] symbol = new char[10] //声明并分配了一个长度为10的char型数组
Java中可以将一个数组赋值给另一个数组,如:
int [] a1 = {1,2,3}; int [] a2; a2 = a1;
一维数组我们可以根据简单地循环进行遍历操作。
比如我们想要在控制台上输出我们上面定义的数组ages。
int [] ages = {12, 18, 9, 33, 45, 60}; for(int i = 0; i < ages.length; i++){ //ages.length是获取数组的长度 System.out.println("数组中第"+(i+1)+"个元素是 "+ages[i]); //数组下标是从零开始,一定要注意 }
运行结果:
注意:除了上述下标是从0开始之外,另外还有数组是不能越界访问的,否则要报错的。
二、二维数组
1.一维数组
插入:foreach循环
for 语句在数组内可以使用特殊简化版本,在遍历数组、集合时,foreach 更简单便捷。从英文字面意思理解 foreach 也就是“ for 每一个”的意思。
语法:
for(元素类型 元素变量:遍历对象){ 执行的代码 }
例如上面的例子:
public class JudgePrime { public static void main(String[] args){ int [] ages = {12, 18, 9, 33, 45, 60}; int i = 1; for(int age:ages){ System.out.println("数组中第"+i+"个元素是"+age); i++; } } }
2. 二维数组
在我们的编程生涯中除了一维数组之外我们还会遇到许多多维数组的应用,其中二维数组是最常见的。
二维数组可以看成是一间有座位的教室,座位我们一般用第几排的第几个进行定位,每一个座位都有一个行和一个列的属性,一排的座位相当于一个一维数组,所以我们可以将二维数组简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。
二维数组也需要声明和分配空间。
语法:
数据类型 [][] 数组名 = new 数据类型[行的个数][列的个数]; //或者 数据类型 [][] 数组名; 数组名 = new 数据类型[行的个数][列的个数]; //也可以 数据类型 [][] 数组名 = { {第一行值1,第一行值2,...} {第二行值1,第二行值2,...} ... } //二维数组的赋值和访问,跟一维数组类似,可以通过下标来逐个赋值和访问,注意索引从 0 开始 数组名[行的索引][列的索引] = 值;
例子:
String [][] name = {{"ZhaoYi", "QianEr", "SunSan"}, {"LiSi", "ZhouWu", "WuLiu"}}; for(int i = 0; i < 2; i++){ for (int j = 0; j < 3; j++){ System.out.println(name[i][j] ); } }
运行结果: