没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Java 数组
数组简介
在某些情况下,虽然可以使用单个变量来存储信息,但是如果需要存储的信息较多(例如存
储 50 名学生的成绩),这时再依次创建变量声明并赋值显得非常麻烦。
随着处理的信息量越来越大,工作也就越来越烦琐,这时可以使用数组或集合来存储信息。
通过使用数组,可以在很大程度上缩短和简化程序代码,从而提高应用程序的效率。
数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具
有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据
数组的维度,可以将其分为一维数组、二维数组和多维数组等。
在计算机语言中数组是非常重要的集合类型,大部分计算机语言中数组具有如下三个基本特
性:
1. 一致性:数组只能保存相同数据类型元素,元素的数据类型可以是任何相同的数据
类型。
2. 有序性:数组中的元素是有序的,通过下标访问。
3. 不可变性:数组一旦初始化,则长度(数组中元素的个数)不可变。
总的来说,数组具有以下特点:
� 数组可以是一维数组、二维数组或多维数组。
� 数值数组元素的默认值为 0,而引用元素的默认值为 null。
� 数组的索引从 0 开始,如果数组有 n 个元素,那么数组的索引是从 0 到
(n-1)。
� 数组元素可以是任何类型,包括数组类型。
� 数组类型是从抽象基类 Array 派生的引用类型。
注意:如果你熟悉 C/C++,请注意,Java 数组的工作原理与它们不同。
在 Java 中数组的下标是从零开始的,很多计算机语言的数组下标也从零开始。Java 数组
下标访问运算符是中括号,如 intArray[0],表示访问 intArray 数组的第一个元素,0 是
第一个元素的下标。Java 中的数组本身是引用数据类型,它的长度属性是 length。
一维数组的定义、赋值和初始化
当数组中每个元素都只带有一个下标时,这种数组就是“一维数组”。一维数组
(one-dimensional array)实质上是一组相同类型数据的线性集合,是数组中最简单的一
种数组。
数组是引用数据类型,引用数据类型在使用之前一定要做两件事情:声明和初始化。所以本
文将重点介绍一维数组的创建、初始化和使用。
创建一维数组
为了在程序中使用一个数组,必须声明一个引用该数组的变量,并指明整个变量可以引用的
数组类型。声明一维数组的语法格式为:
type[] arrayName; // 数据类型[] 数组名;
或者
type arrayName[]; // 数据类型 数组名[];
可见数组的声明有两种形式:一种是中括号”[]“跟在元素数据类型之后,另一种是中括号”
[]“跟在变量名之后。
对于以上两种语法格式而言,Java 更推荐采用第一种声明格式,因为第一种格式不仅具有
更好的语意,而且具有更好的可读性。对于第一种格式 type[] arrayName,很容易理解这
是定义一个变量,其中变量名是 arrayName,而变量类型是 type[]。
前面已经指出:type[] 确实是一种新类型,与 type 类型完全不同(例如 int 类型是基本
类型,但 int[] 是引用类型)。因此,这种方式既容易理解,也符合定义变量的语法。但第
二种格式 type arrayName[]的可读性就差了,看起来好像定义了一个类型为 type 的变量,
而变量名是 arrayName[],这与真实的含义相去甚远。
可能有些读者非常喜欢 type arrayName[]这种定义数组的方式,这可能是因为早期某些计
算机读物的误导,从现在开始最好就不要再使用这种糟糕的方式了。
提示:Java 的模仿者 C# 就不再支持 type arrayName[]这种语法,它只支持第一种定义数
组的语法。越来越多的语言不再支持 type arrayName[]这种数组定义语法。
以上两种格式都可以声明一个数组,其中的数据类型既可以是基本数据类型,也可以是引用
数据类型。数组名可以是任意合法的变量名。声明数组就是要告诉计算机该数组中数据的类
型是什么。例如:
1. int[] score; // 存储学生的成绩,类型为整型
2. double[] price; // 存储商品的价格,类型为浮点型
3. String[] name; // 存储商品名称,类型为字符串型
在声明数组时不需要规定数组的长度,例如:
1. int score[10]; // 这是错误的
注意:在声明数组变量时千万不要漏写[]。
分配空间
声明了数组,只是得到了一个存放数组的变量,并没有为数组元素分配内存空间,不能使用。
因此要为数组分配内存空间,这样数组的每一个元素才有一个空间进行存储。
简单地说,分配空间就是要告诉计算机在内存中为它分配几个连续的位置来存储数据。在
Java 中可以使用 new 关键字来给数组分配空间。分配空间的语法格式如下:
arrayName = new type[size]; // 数组名 = new 数据类型[数组长度];
其中,数组长度就是数组中能存放的元素个数,显然应该为大于 0 的整数,例如:
1. score = new int[10];
2. price = new double[30];
3. name = new String[20];
这里的 score 是已经声明过的 int[] 类型的变量,当然也可以在声明数组时就给它分配空
间,语法格式如下:
type[] arrayName = new type[size]; // 数据类型[] 数组名 = new 数据类型[数组长度];
例 1
例如,声明并分配一个长度为 5 的 int 类型数组 arr,代码如下:
1. int[] arr = new int[5];
执行后 arr 数组在内存中的格式如图 1 所示。
图 1 一维数组的内存格式
在图 1 中 arr 为数组名称,方括号“[]”中的值为数组的下标。数组通过下标来区分数组
中不同的元素,并且下标是从 0 开始的。因此这里包含 5 个元素的 arr 数组最大下标为
4。
注意:一旦声明了数组的大小,就不能再修改。这里的数组长度也是必需的,不能少。
尽管数组可以存储一组基本数据类型的元素,但是数组整体属于引用数据类型。当声明一个
剩余71页未读,继续阅读
资源评论
Andy&lin
- 粉丝: 97
- 资源: 214
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功