Java数组之数组的定义

分析技术,品味人生。大家好我是小匠(jiang),一个热爱生活的程序猿。

数组简介

在某些情况下,虽然可以使用单个变量来存储信息,但是如果需要存储的信息较多(例如存储 50 名学生的成绩),这时再依次创建变量声明并赋值显得非常麻烦。

随着处理的信息量越来越大,工作也就越来越繁琐,这时可以使用数组或集合来存储信息。通过使用数组,可以在很大程度上缩短和简化程序代码,从而提高应用程序的效率。

数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。

在计算机语言中数组是非常重要的集合类型,大部分计算机语言中数组具有如下三个基本特性:

一致性:数组只能保存相同数据类型元素,元素的数据类型可以是任何相同的数据类型。

有序性:数组中的元素是有序的,通过下标访问。

不可变性:数组一旦初始化,则长度(数组中元素的个数)不可变。

总的来说,数组具有以下特点:

数组可以是一维数组、二维数组或多维数组。

数值数组元素的默认值为 0,而引用元素的默认值为 null。

数组的索引从 0 开始,如果数组有 n 个元素,那么数组的索引是从 0 到

(n-1)。

数组元素可以是任何类型,包括数组类型。

数组类型是从抽象基类 Array 派生的引用类型。

注意

在 Java 中数组的下标是从零开始的,很多计算机语言的数组下标也从零开始。Java 数组下标访问运算符是中括号,如 intArray[0],表示访问 intArray 数组的第一个元素,0 是第一个元素的下标。Java 中的数组本身是引用数据类型,它的长度属性是 length。

数组定义方式一 动态方式(指定数组的长度)

格式:

数组存储的数据类型[]数组名字 = new 数组存储的数据类型[长度];

[] : 表示数组。

数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。

new:关键字,创建数组使用的关键字。

数组存储的数据类型:看创建的数组用来存储什么数据类型。

[长度]:数组的长度,表示数组容器中可以存储多少个元素。

例子:

定义可以存储3个整数的数组容器,代码如下:

int[] arr = new int[3];

数组定义方式二 静态方式(指定数组的元素)

格式:

数据类型[] 数组名 = new 数据类型[];

定义存储1,2,3,4,5整数的数组容器。

int[] arr = new int[];

或者省略格式:(不能先声明后赋值,只能声明的同时赋值)

数据类型[] 数组名 = ;

定义存储1,2,3,4,5整数的数组容器。

int[] arr = ;

注意:

1.如果使用静态方式创建数组,那么系统会根据元素的个数自动计算数组的长度

2.静态方式创建数组右边的中括号里面不能写长度

3.静态方式的省略格式创建数组不能先声明后赋值,只能声明的同时直接赋值

后记: 数组也是一种数据类型

Java的数组要求所有的数组元素具有相同的数据类型。因此,在一个数组中,数组元素的类型是唯一的,即一个数组里只能存储一种数据类型的数据,而不能存储多种数据类型的数据。

因为 Java 语言是面向对象的语言,而类与类之间可以支持继承关系(从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为),这样可能产生一个数组里可以存放多种数据类型的假象。例如有一个水果数组,要求每个数组元素都是水果,实际上数组元素既可以是苹果,也可以是香蕉(苹果、香蕉都继承了水果,都是一种特殊的水果),但这个数组的数组元素的类型还是唯一的,只能是水果类型。

一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,因此数组的长度将不可改变。即使把某个数组元素的数据清空,但它所占的空间依然被保留,依然属于该数组,数组的长度依然不变。

Java 的数组既可以存储基本类型的数据,也可以存储引用类型的数据,只要所有的数组元素具有相同的类型即可。

值得指出的是,数组也是一种数据类型,它本身是一种引用类型。例如 int 是一个基本类型,但 int[](这是定义数组的一种方式)就是一种引用类型了。

int[] 是一种类型吗?怎么使用这种类型呢?

没错,int[] 就是一种数据类型,与 int 类型、String 类型相似,一样可以使用该类型来定义变量,也可以使用该类型进行类型转换等。使用 int[] 类型来定义变量、进行类型转换时与使用其他普通类型没有任何区别。int[] 类型是一种引用类型,创建 int[] 类型的对象也就是创建数组,需要使用创建数组的语法。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191123A04W4J00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券