网站首页 > 精选教程 正文
数组存储相同类型值的序列。下面几小节中,我们将学习在 Java 中如何使用数组。
3.10.1 声明数组
数组是一种数据结构,用来存储同一类型值的集合。通过一个整型索引(index,或称下标)可以访问数组中的每一个值。例如,如果 a 是一个整型数组,a[i] 就是数组中索引为 i的整数。
在声明数组变量时,需要指出数组类型(元素类型后面紧跟n) 和数组变量名。例如下面声明了整型数组 a:
int[] a;
不过,这条语句只声明了变量 a,并没有将 a 初始化为一个真正的数组。应该使用 new操作符创建数组。
int[] a= new int[100]; // or var a = new int[100];
这条语句声明并初始化了一个可以存储 100 个整数的数组。
数组长度不要求是常量: new int[n] 会创建一个长度为 n 的数组。旦创建了数组,就不能再改变它的长度(不过,当然可以改变单个数组元素)。如果程序运行中需要经常扩展数组的大小,就应该使用另一种数据结构一一数组列表(array list)。有关数组列表的详细内容请参见第 5 章。
注释:可以使用下面两种形式定义一个数组变量:
int[] a;
或
int a[];
大多数 Java 程序员喜欢使用第一种风格,因为它可以将类型 int[] (整型数组)与变量名清晰地分开。
在 Java 中,提供了一种创建数组对象并同时提供初始值的简写形式。下面是一个例子:
int[] smallPrimes = { 2,3,5,7,11,13 };
请注意,这个语法中不需要使用 new,甚至不用指定长度。最后一个值后面允许有逗号,如果你要不断为数组增加值,这样会很方便
Stringl] authors =
{
"James Gosling",
"Bill Joy",
"Guy Steele"
// add more names here and put a comma after each name
}
还可以声明一个匿名数组(anonymous array):
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;
注释:在 Java 中,允许有长度为0的数组。编写一个结果为数组的方法时,如果碰巧结果为空,这样一个长度为 0的数组就很有用。可以如下构造一个长度为0的数组:
new elementType[0]
或
new elementType[] {}
注意,长度为 0的数组与 null 并不相同
猜你喜欢
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 5.2.3相等测试与继承
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 5.2.4 hashCode方法
- 2024-11-28 Java入门书单
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.3.7 隐式参数与显式参数
- 2024-11-28 全网最完整的免费java教程讲义系列(四)——java的流程控制
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.6 对象构造 4.6.1重载
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.3 自定义类
- 2024-11-28 2019年Java核心技术我整理了200多页pdf,今天分享给你
- 2024-11-28 java 核心技术12版卷1 - 1.3 Java applet 与 Internet
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.2 使用预定义类
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)