首页 > 技术文章 > 数组的使用

singerw 2020-12-11 03:26 原文

数组的使用

  • 处理数组
  • 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]+" ");
        }
    }


}

推荐阅读