当数组中每个元素都只带有一个下标时,这种数组就是一维数组,一维数组是数组中最简单的一种数组。
数组有两种初始化方式:动态初始化和静态初始化。
静态初始化就是在声明时就将数组赋值了,在后面直接调用。
静态初始化的方法如下:
数组类型[]名称=new类型{元素};
例如:
int[]Array=newint[]{1,2,3};
也可以先声明再初始化:
int[]Array;Array=newint[]{1,2,3};
动态初始化就是先声明,在后面的语句中再逐个赋值。
动态初始化的方法如下:
int[]Array=newint[数组长度];Array[0]=1;Array[1]=2;Array[2]=3;Array[3]=4;……Array[数组长度-1]=n;
初始化后的数组,其长度是确定的。
静态初始化int [] Array = new int[]{1,2,3};花括号里有3个元素,所以Array的长度是3.
动态初始化int [] Array = new int[数组长度];如果[数组长度]里是3,Array就有3个元素,其数组长度就是3。
我们可以使用下标(角标)来调用数组。
int[]Array;Array=newint[]{1,2,3};System.out.println(Array[1]);
此时输出的是Array中的第二个元素,即输出2。
这时候就会有同学问:为什么明明是Array[1],却调用的是第二个元素呢?这是因为数组的下标是从0开始的,即Array[0]对应的是数组里的第一个元素,Array[1]对应的是数组里的第二个元素,以此类推。
动态初始化中第二个中括号里的数是数组长度,例如:
int[]Array=newint[3];
这样表示Array的数组长度是3,想调用第3个,下标就得是2:
System.out.println(int[2]);
注意:调用的数组元素不能超过数组长度。
例如:
int[]Array=newint[3];System.out.println(int[3]);
此时表示的是输出Array数组的第4个元素,但Array的数组长度是3,即只有3个元素,所以会报错。
我们可以使用循环语句来实现数组的遍历,例如:
for(inti=0;i<Array.length;i++){System.out.println(Array[i]);}
需要注意的是,i从0开始是因为数组下标是从0开始的,数组的第一个元素下标是0,要把第一个元素包括进去,所以从0开始循环。
.length方法是数组长度,i<Array.length表示的是i的值小于Array的数组长度,在此条件下循环。
例如:
importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){int[]arr1=newint[]{1,3,5,7,9,11};//静态初始化System.out.println(arr1[1]);//输出arr的第二个元素:3int[]arr2=newint[5];//动态初始化Scannerscan=newScanner(System.in);System.out.println(请输入:);for(inti=0;i<arr2.length;i++){//将arr2逐个赋值arr2[i]=scan.nextInt();System.out.println(arr2[i]);//将arr2逐个输出}}}
大家可以亲自上机实验!