当数组中每个元素都只带有一个下标时,这种数组就是一维数组,一维数组是数组中最简单的一种数组。
1.一维数组的初始化
数组有两种初始化方式:动态初始化和静态初始化。
1)静态初始化
静态初始化就是在声明时就将数组赋值了,在后面直接调用。
静态初始化的方法如下:
数组类型 [] 名称 = new 类型{元素};
例如:
int [] Array = new int[]{1,2,3};
也可以先声明再初始化:
int [] Array; Array = new int[]{1,2,3};
2)动态初始化
动态初始化就是先声明,在后面的语句中再逐个赋值。
动态初始化的方法如下:
int [] Array = new int[数组长度]; Array[0] = 1; Array[1] = 2; Array[2] = 3; Array[3] = 4; …… Array[数组长度-1] = n;
2.一维数组的长度
初始化后的数组,其长度是确定的。
静态初始化int [] Array = new int[]{1,2,3};花括号里有3个元素,所以Array的长度是3.
动态初始化int [] Array = new int[数组长度];如果[数组长度]里是3,Array就有3个元素,其数组长度就是3。
3.一维数组的调用
我们可以使用下标(角标)来调用数组。
1)静态初始化
int [] Array; Array = new int[]{1,2,3}; System.out.println(Array[1]);
此时输出的是Array中的第二个元素,即输出2。
这时候就会有同学问:为什么明明是Array[1],却调用的是第二个元素呢?这是因为数组的下标是从0开始的,即Array[0]对应的是数组里的第一个元素,Array[1]对应的是数组里的第二个元素,以此类推。
2)动态初始化
动态初始化中第二个中括号里的数是数组长度,例如:
int [] Array = new int[3];
这样表示Array的数组长度是3,想调用第3个,下标就得是2:
System.out.println(int[2]);
注意:调用的数组元素不能超过数组长度。
例如:
int [] Array = new int[3]; System.out.println(int[3]);
此时表示的是输出Array数组的第4个元素,但Array的数组长度是3,即只有3个元素,所以会报错。
4.一维数组的遍历
我们可以使用循环语句来实现数组的遍历,例如:
for(int i=0;i<Array.length;i++) { System.out.println(Array[i]); }
需要注意的是,i从0开始是因为数组下标是从0开始的,数组的第一个元素下标是0,要把第一个元素包括进去,所以从0开始循环。
.length方法是数组长度,i<Array.length表示的是i的值小于Array的数组长度,在此条件下循环。
例如:
import java.util.Scanner; public class Main { public static void main(String[] args) { int [] arr1 = new int[]{1,3,5,7,9,11}; //静态初始化 System.out.println(arr1[1]); //输出arr的第二个元素:3 int [] arr2 = new int[5]; //动态初始化 Scanner scan = new Scanner(System.in); System.out.println("请输入:"); for(int i=0;i<arr2.length;i++) { //将arr2逐个赋值 arr2[i] = scan.nextInt(); System.out.println(arr2[i]); //将arr2逐个输出 } } }
大家可以亲自上机实验!
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程