数组的使用
数组的使用
- 处理数组
- foreach 循环
- 数组作为函数的参数
- 数组作为函数的返回值
1. 处理数组
数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者 foreach 循环。
示例
该实例完整地展示了如何创建、初始化和操纵数组:
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
// 打印所有数组元素
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
// 计算所有元素的总和
double total = 0;
for (int i = 0; i < myList.length; i++) {
total += myList[i];
}
System.out.println("Total is " + total);
// 查找最大元素
double max = myList[0];
for (int i = 1; i < myList.length; i++) {
if (myList[i] > max) max = myList[i];
}
System.out.println("Max is " + max);
}
}
以上实例编译运行结果如下:
1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5
2. for each循环
JDK 1.5 引进了一种新的循环类型,被称为 foreach 循环或者加强型循环,它能在不使用下标的情况下遍历数组。
语法格式:
for(type element: array)
{
System.out.println(element);
}
示例
该实例用来显示数组 myList 中的所有元素:
package com.singer.array;
public class ArrayDemo04 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
// 增强型For循环遍历数组元素,For-Each循环
for (int array : arrays) {
System.out.println(array);
}
}
}
以上实例编译运行结果如下:
1
2
3
4
5
3. 数组作为函数的参数
数组可以作为参数传递给方法。例如,下面的例子就是一个打印 int 数组中元素的方法。
示例
package com.singer.array;
public class ArrayDemo05 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
printArray(arrays);
}
// 数组做方法入参,打印数组元素
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+ " ");
}
}
}
以上实例编译运行结果如下:
1 2 3 4 5
4.数组作为函数的返回值
示例
package com.singer.array;
public class ArrayDemo06 {
// 数组作返回值
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
int[] reverse = reverse(arrays);
printArray(reverse);
}
// 反转数组
public static int[] reverse(int[] arrays){
int[] result = new int[arrays.length];
// 反转的操作
for (int i = 0, j = result.length-1; i < arrays.length; i++, j--) {
result[j] = arrays[i];
}
return result;
}
//增强for循环打印数组元素,For-Each
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+" ");
}
}
}
ZHANG_SINGER_星河本就高悬与万丈之上,为何我总愿伸手触摸。