ad

阅读《Java核心技术》卷1 基础知识_更了解Java的奥妙_3.10 数组

admin 91 2023-10-25

【摘要】 本书摘自《Java核心技术》一书中第3章,第10节,作者是来自美国的凯·S.霍斯特曼(Cay S.Horstmann),由林琪、苏钰涵等译。

3.10 数组

数组存储相同型值的序列。下面几小节中,我们将学习在Java 中如何使用数组。

3.10.1 声明数组

数组是一种数据结构,用来存储同一类型值的集合。通过一个整型下标 (index, 或称索 引)可以访问数组中的每一个值。例如,如果a 是一个整型数组, a[i]就是数组中下标为i 的整数。

阅读《Java核心技术》卷1 基础知识_更了解Java的奥妙_3.10 数组

在声明数组变量时,需要指出数组类型(数据元素类型紧跟[])和数组变量的名字。下 面声明了整型数组 a:

int[] a;

不过,这条语句只声明了变量a, 并没有将a 初始化为一个真正的数组。应该使用new操 作符创建数组。

int[] a = new int[100];// or var a = new int[100];

这条语句声明并初始化了一个可以存储100个整数的数组。

数组长度不要求是常量: newint[n]会创建一个长度为n 的数组。

一旦创建了数组,就不能再改变它的长度(不过,当然可以改变单个的数组元素)。如果 程序运行中需要经常扩展数组的大小,就应该使用另一种数据结构——数组列表 (array list)。 有关数组列表的详细内容请参看第5章。

在 Java 中,提供了一种创建数组对象并同时提供初始值的简写形式。下面是一个例子:

int[] smallPrimes ={2,3,5,7,11,13 };

请注意,这个语法中不需要使用new, 甚至不用指定长度。

最后一个值后面允许有逗号,如果你要不断为数组增加值,这会很方便:

String[] authors ={

"James Gosling",

"Bill Joy",

"Guy Steele"

// add more names here and put a comma after each name

};

还可以声明一个匿名数组:

new int[]{ 17,19,23, 29,31,37 }

这会分配一个新数组并填入大括号中提供的值。它会统计初始值个数,并相应地设置数 组大小。可以使用这种语法重新初始化一个数组而无须创建新变量。例如:

smallPrimes = new int[]{ 17,19, 23, 29,31, 37 };

这是下列语句的简写形式:

int[] anonymous ={17,19,23,29,31,37 };

smallPrimes = anonymous;

3.10.2 访问数组元素

前面的数组元素的下标为从0~99(不是1~100)。 一旦创建了数组,就可以在数组

中填入元素。例如,使用一个循环:

int[] a = new int[100];

创建一个数字数组时,所有元素都初始化为0。 boolean数组的元素会初始化为 false。 对 象数组的元素则初始化为一个特殊值null,表示这些元素(还)未存放任何对象。初学者对 此可能有些不解。例如,

String[] names = new String[10];

会创建一个包含10个字符串的数组,所有字符串都为null。 如果希望这个数组包含空串,必

须为元素指定空串:

for (int i=θ; i<10;i++) names[i]="";

要想获得数组中的元素个数,可以使用 array.length。例如,

for (int i=θ; i< a.length; i++)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:阅读《Java核心技术》卷1 基础知识_更了解Java的奥妙_3.6.2 拼接
下一篇:阅读《Java核心技术》卷1 基础知识_更了解Java的奥妙_4.6 对象构造
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×