声明一个数组变量(如:
numbers)并使用
numbers[0],
numbers[1]和
...,
numbers[99]来表示单个变量,例如
number0,
number1,
...和
number99,而不是单独地声明各个变量。
本教程介绍如何声明数组变量,创建数组和索引访问数组。
1. 声明数组变量
要在程序中使用数组,需要先声明一个变量以引用该数组,并且要指定该变量的数组类型。 以下是声明数组变量的语法 -
语法
dataType[] arrayRefVar; // 推荐方式。 // 或者 dataType arrayRefVar[]; // 有效,但不是推荐方式。
注 - 格式:
dataType [] arrayRefVar是推荐方式。 格式:dataType arrayRefVar []来自C/C++语言,可在Java中采用以适应C/C++程序员。
示例
以下代码片段是此语法的示例 -
double[] myList; // 推荐方式。 // 或者double myList[]; // 有效,但不是推荐方式。
2. 创建数组
可以使用
new运算符来创建数组,如以下语法 -
// 声明 dataType[] arrayRefVar; // 推荐方式。 // 创建 arrayRefVar = new dataType[arraySize];
上面语句做了两件事 -
- 它使用
new dataType[arraySize]来创建了一个数组。 - 它将新创建的数组的引用分配给变量
arrayRefVar。
声明一个数组变量,创建一个数组,并将该数组的引用分配给变量,可以在一个语句中完成,如下所示 -
dataType[] arrayRefVar = new dataType[arraySize];
或者,可以按如下方式创建数组 -
dataType[] arrayRefVar = {value0, value1, ..., valuek};
通过索引访问数组元素。 数组索引值从
0开始; 也就是说,它们从
0开始到
arrayRefVar.length - 1。
示例
下面语句中声明了一个数组变量
myList,它创建了一个包含
10个
double类型元素的数组,并将数组变量的引用分配给
myList -
double[] myList = new double[10];
下图表示数组
myList。 这里,
myList数组中包含十个
double值,索引从
0到
9。

3. 处理数组
处理数组元素时,经常使用
for循环或
foreach循环,因为数组中的所有元素都是相同的类型,并且数组的大小是已知的。
示例
这是一个完整的示例,演示了如何创建,初始化和处理数组 -
执行上面示例代码,得到以下结果:
10.01, 12.19, 23.44, 43.95, 77.88, 65.0, 总和:232.47 元素最大值:77.88
3.1. foreach循环
JDK 1.5引入了
foreach循环或增强
for循环,它能够在不使用索引变量的情况下顺序遍历整个数组。
示例
以下代码演示如何遍历数组
myList中的所有元素 -
执行上面示例代码,得到以下结果:
10.01, 12.19, 23.44, 43.95, 77.88, 65.0,
3.2. 将数组传递给方法
就像将原始类型值传递给方法一样,也可以将数组传递给方法。 例如,以下
printArray()方法用来打印
int数组中的元素 -
示例
执行上面示例代码,得到以下结果:
10.01 12.19 23.44 43.95 77.88 65.0
3.3. 从方法返回数组
方法可以返回数组。 例如,以下方法返回一个与给定参数数组相反的数组 -
执行上面示例代码,得到以下结果:
10.01 12.19 23.44 43.95 77.88 65.0 65.0 77.88 43.95 23.44 12.19 10.01
这里的话我也将我之前在学习java过程中用到的一些学习资料整理成了文档,以及我自身之前的一个面试文案和知识点补充,有需要的朋友可以加我的扣扣学习交流群697888503,这里也希望大家最终都能够学有所成,学习编程不是一天两天的功夫,勤能补拙才是硬道理,祝大家最终都能成为一名合适开发攻城狮。
3.4. Arrays类
java.util.Arrays类包含各种静态方法,用于排序和搜索数组,比较数组和填充数组元素。 对于所有基本类型,这些方法都会重载。
| 编号 | 方法 | 描述 |
|---|---|---|
| 1 |
public static int binarySearch(Object[] a, Object key) |
使用二进制搜索算法搜索指定的Object(Byte,Int,double等)数组以获取指定值。 必须在进行此调用之前对数组进行排序。 如果搜索关键字包含在列表中,则返回搜索关键字的索引; 否则,它返回( -(插入点 + 1))。 |
| 2 |
public static boolean equals(long[] a, long[] a2) |
如果两个指定的
long数组相等,则返回
true。 如果两个数组包含相同数量的元素,则两个数组被认为是相等的,并且两个数组中的所有相应元素对相等。如果两个数组相等,则返回
true。 所有其他原始数据类型(Byte,Short,Int等)可以使用相同的方法。 |
| 3 |
public static void fill(int[] a, int val) |
将指定的
int值分配给指定的
int数组的每个元素。所有其他原始数据类型(Byte,Short,Int等)可以使用相同的方法。 |
| 4 |
public static void sort(Object[] a) |
根据元素的自然顺序,将指定的对象数组按升序排序。 所有其他原始数据类型(Byte,Short,Int等)可以使用相同的方法。 |