Java教程

06:数组

本文主要是介绍06:数组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数组


数组是具有相同数据类型的一组数据的集合,根据维数不同可以分为一维数组、二维数组和多维数组。Java 语言中提供的数组是用来存储固定大小的同类型元素。

一、一维数组

1、数组的创建

在使用数组之前,必须首先定义数组变量所属的类型,即声明数组

  • 声明数组有两种形式。语法格式如下:
数组元素类型  数组名[];
或
数据元素类型[]  数组名;

需要注意的声明时是[]中不能添加任何数据。两种声明方式都正确,不同数据要声明不同类型的数组;具体如下:

int arr[];                // 声明int型数组,数组中每个元素都是int型数值
或
String[] str;           // 声明String数组,数组中每个元素都是String数组
  • 声明数组后还不能访问它的任何元素,要想真正使用数组还要为其分配内存空间,且分配内存空间时必须指明数组的长度。
  • 数组作为对象允许使用new关键字进行内存分配。语法格式如下:
数组名 = new 数组元素类型[数组元素个数];

实例如下:

arr = new int[5];    //为数组分配一个大小为5的内存空间
  • 可以同时声明数组并分配内存,语法格式如下:
数组元素类型 数组名 = new 数组元素类型[数组元素个数];

例如:创建了一个一维数组arr,并指定了数组长度为9。

int arr = new int[9];

2、数组的初始化

数组也可以与基本数据类型一样进行初始化操作,可以分别初始化数组中的每个元素。

数组初始化的方式有两种,具体如下:

int arr1[] = new int[]{1,2,3,4,5};        // 第一种
或
int arr2[] = {10,11,12,13,14};               // 第二种

数组初始化的方式是:把数据包括在大括号之内,中间用逗号分开数组中的元素的值,系统自动为数组分配一定的空间。

练习1:求一组一维数组的和

public class Demo01 {

    public static void main(String[] args) {

        int arr[] = {1, 2, 3, 4, 5};    // 创建并初始化数组
        int sum = 0;                    // 存储累加和

        for (int i = 0; i < arr.length; i++) {   //arr.length表示数组的长度
            sum += arr[i];
        }
        System.out.println("sum的和为" + sum);
    }
}

运行结果:

sum的和为15

练习2:遍历数组

public class Demo02 {

    public static void main(String[] args) {

        int arr[] = {1, 2, 3, 4, 5};    // 创建并初始化数组
        int sum = 0;                    // 存储累加和

        //普通的for循环
        for (int i = 0; i < arr.length; i++) {   //arr.length表示数组的长度
            System.out.print(arr[i] + " ");
        }
        System.out.println();

        //增强型的for循环
        for (int array : arr){
            System.out.print(array + " ");
        }
    }
}

运行结果:

1 2 3 4 5 
1 2 3 4 5 

二、多维数组

1、二维数组

如果一维数组中的各个元素仍是一维数组,那么它就是一个二维数组。二维数组常用于表示表,表中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标代码元素所在的列。或用线性代数的知识来说,二维数组就是一个矩阵,第一个下标代表矩阵的行,第二个下标代表矩阵的列。

二维数组的声明也有两种方式,语法格式如下:

数组元素类型 数组名[][];
数组元素类型[][] 数组名;

与一维数组一样,如果声明时没有分配内存空间,同样也要使用关键字new来分配内存

  二维数组可以看作由多个一维数组组成,在给二维数组分配内存时,可以为这些一维数组同时分配相同的内存。第一个中括号中的数组是一维数组的个数,第二个中括号中是一维数组的长度。

int arr = new int[2][4];  //声明一个二维数组arr并为其分配内存空间,分配后arr拥有两个长度为4的一维数组

二维数组初始化

二维数组的初始化与一维数组类似,同样可以使用大括号完成二维数组的初始化。如下:

int arr[][] = {{3,0},{5,7},{6,9}};

练习:遍历二维数组

public class Demo03 {

    public static void main(String[] args) {

        int arr[][] = {{1,2},{3,4,5},{6,7,8,9}};

        for(int i=0; i<arr.length; i++) {
            for(int j=0; j<arr[i].length; j++) {
                System.out.print(arr[i][j] + " ");        // 输出
            }
            System.out.println();         // 换行
        }
    }
}

运行结果:

1 2 
3 4 5 
6 7 8 9 

2、三维数组

对于三维数组,想必各位已经能推算出来了,一维用一个括号,二维用两个括号,那么三维就用三个括号。

int arr[][][] = new int[][][]{
    {{1,2,3},{4,5,6}},
    {{7,8,9},{10,11,12}},
    {{13,14,15},{16,17,18}}
    };

这篇关于06:数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!