Dotcpp  >  编程教程  >  Java数组  >  Java一维数组

Java一维数组

点击打开在线编译器,边学边练

当数组中每个元素都只带有一个下标时,这种数组就是一维数组,一维数组是数组中最简单的一种数组。

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逐个输出
        }
    }
}

大家可以亲自上机实验!



本文固定URL:https://www.dotcpp.com/course/885

上一课:

Java数组的使用

下一课:

Java二维数组

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Java教程
第一章 Java入门
第二章 Java运算符和表达式
第三章 Java流程控制
第四章 Java类和对象
第五章 Java子类与继承
第六章 Java接口与实现
第七章 Java内部类与异常类
第八章 Java常用实用类
第九章 Java输入输出流
第十章 Java数组
Dotcpp在线编译      (登录可减少运行等待时间)