简述Java数组的使用 |
您所在的位置:网站首页 › 一维数组程序举例 › 简述Java数组的使用 |
目录 一、数组的创建和初始化 1.数组创建 2.数组的初始化 二、数组元素的访问 三、数组在内存中的存储 四、二维数组 1.二维数组的创建 2.数组元素的访问 数组是几乎所有程序设计语言都提供的一种数据存储结构。数组是名称相同,下标不同的一组变量,用来存储一组类型相同的数据。下面就来介绍数组的创建,初始化和使用。 一、数组的创建和初始化使用数组一般需要三个步骤: (1)声明数组:声明数组名称和元素的数据类型。 (2)创建数组:为数组元素分配存储空间。 (3)数组的初始化:为数组元素赋值。 1.数组创建数组的创建需要使用数组需要声明,目的在于告诉编译器数组名和元素类型,格式为: elementType [ ]arrayName; elementType arrayName[ ]; 推荐使用第一种声明方式。 创建数组将使用使用new语句,new语句的目的为数组的每个元素分配存储空间,通常来说,数组的声明和使用new语句创建会写在一条语句内,所以数组的创建的一般格式为: elementType [ ]arrayName = new elementType[arraySize]; 该语句的功能为使用new语句创建名为arrayName的数组并分配arraySize个elementType类型的存储空间。 2.数组的初始化数组的初始化分为两种形式 动态初始化(创建数组是只指定长度),如以下实例: int [ ]array = new int[3]; 静态初始化(创建数组的同时指定内容),声明数组的同时可以使用初始化器对数组元素初始化,在一对大括号中给出数组的每个元素值,如以下实例: int [ ]array = new int[ ]{1,2,3}; 用这种方法创建的数组不能指定数组的长度,系统会根据元素个数确定数组长度。除此之外,可使用循环语句为数组动态初始化数组元素。 二、数组元素的访问声明了一个数组,并使用new运算符为数组元素分配内存空间后,就可以使用数组中的每一个元素。格式为: arrayName [index] index为数组的下标,数组使用定位数组元素在内存中的地址,下标从0开始,最大下标为数组长度减1。例如,有个长度为3的名为arr的数组,想要分别访问word数组的第一、二、三个数组元素的方式为arr[0],arr[1],arr[2]。 Java提供了一个length成员变量,它表示数组元素的个数,访问该成员变量的方法为arrayName.length,如arr.length,即表示数组arr的长度。 三、数组在内存中的存储为了提高运算效率,Java虚拟机就对空间进行了不同区域的划分,每一片区域都有特定的处理数据方式和内存管理方式。对数组的处理则牵涉到堆内存和栈内存 堆内存存储对象或者数组,new来创建的,都存储在堆内存。方法栈方法运行时使用的内存,比如main方法运行,进入方法栈中执行。int[] arr = new int[3]; System.out.println(arr); //[I@5f150435 以上方法执行,输出的结果是[I@5f150435,是数组在内存中的地址。使用new语句创建的内容,都是在堆内存中存储的,而方法中的变量arr保存的是数组的地址。输出arr[0],就会输出arr保存的内存地址中的数组中下标为0所引用的元素。 四、二维数组 1.二维数组的创建二维数组的使用也分为声明、创建和初始化三个步骤,二维数组拥有以下三种声明格式: elementType [ ] [ ] arrayName; elementType [ ] arrayName [ ]; elementType arrayName [ ] [ ]; 推荐使用第一种声明方式。 创建二维数组的语句一般格式为: elementType [ ] [ ] arrayName = new elementType[arraySize1][arraySize2]; 创建二维数组时,系统会先为高维分配空间,再顺次为低维分配空间,arraySize1为高维数组的长度,arraySize2为每个低维数组的长度。二维数组的创建也使用new运算符,如以下实例: int [ ] [ ]arr = new int [2][3]; 这种方法适用于数组的低维具有相同个数的数组元素,实例表示意思为,Java定义了两个高维数组,arr[0]和arr[1],每个高维数组都有3个低维数组,arr[0]具有arr[0][0],arr[0][1],arr[0][2]这样3个低维数组,arr[1]具有arr[1][0],arr[1][1],arr[1][2]3个低维数组,以此类推。所有,对二维数组的第一维通常称为行,第二维称为列。二维数组的创建还可以用如下方式: int [ ] [ ]arr = new int [2][ ]; //先为第一维分配空间 arr[0] = new int [3]; //再为第二维分配空间 arr[1] = new int [3]; 用以上方式可分别为高维数组分配自定义个数的低维数组,如: int [ ] [ ]arr = new int [3][ ]; arr[0] = new int [3]; arr[1] = new int [5]; arr[2] = new int [4]; 与访问一维数组一样,访问二维数组元素时,下标不能超出范围,可以使用arr.length得到arr的长度,结果为3;使用arr[0].length得到arr[0]的长度,结果为3,使用arr[1].length得到arr[1]的长度,结果为5。 2.数组元素的访问访问二维数组的元素,使用以下格式: arrayName [index1] [index2] 以下代码为给arr[2][3]数组赋值: arr[0][0] = 10; arr[0][1] = 11; arr[0][2] = 12; arr[1][0] = 20; arr[1][1] = 21; arr[1][2] = 22; 二维数组的初始化也同一维数组一样,有两种初始化方式,可以使用动态初始化,也可在声明数组的同时为数组元素初始化,例如: int arr[ ] [ ] arr = new int[ ]{{10,11,12},{20,21,22}}; 除此之外,还可使用循环语句为数组动态初始化数组元素,与一维数组一致。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |