java之数组使用以及拓展

之前介绍了什么是数组,怎么创建数组以及一些简单的属性,那么这篇博客就来聊一聊使用数组的一些方法。

数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者 ForEach 循环。

【该实例完整地展示了如何创建、初始化和操纵数组】

 1 public class TestArray {
 2     public static void main(String[] args) {
 3         double[] myList = {1.9, 2.9, 3.4, 3.5};
 4         // 打印所有数组元素
 5         for (int i = 0; i < myList.length; i++) {
 6             System.out.println(myList[i] + " ");
 7         }
 8       // 计算所有元素的总和
 9         double total = 0;
10         for (int i = 0; i < myList.length; i++) {
11             total += myList[i];
12         }
13         System.out.println("Total is " + total);
14       // 查找最大元素
15         double max = myList[0];
16         for (int i = 1; i < myList.length; i++) {
17             if (myList[i] > max) {
18                 max = myList[i];
19             }
20         }
21         System.out.println("Max is " + max);
22     }
23 }

1、For-Each 循环

JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下 遍历数组。

语法格式如下:

1 for(type element: array){
2     System.out.println(element);
3 }

【示例】

1 public static void main(String[] args) {
2     double[] myList = {1.9, 2.9, 3.4, 3.5};
3     // 打印所有数组元素
4     for (double element: myList) {
5         System.out.println(element);
6     }
7 }

2、数组做方法入参

数组可以作为参数传递给方法

【示例】

1 //打印数组
2 public static void printArray(int[] array) {
3     for (int i = 0; i < array.length; i++) {
4         System.out.print(array[i] + " ");
5     }
6 }

3、数组作返回值

1 public static int[] reverse(int[] list) {
2     int[] result = new int[list.length];
3     for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
4         result[j] = list[i];
5     }
6     return result;
7 }

多维数组

多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维 数组。

多维数组的动态初始化(以二维数组为例)

直接为每一维分配空间,格式如下:

type[][] typeName = new type[typeLength1][typeLength2];

type 可以为基本数据类型和复合数据类型,arraylenght1 和 arraylenght2 必须为正整数, arraylenght1 为行数,arraylenght2 为列数。

比如定义一个二维数组:

1 int a[][] = new int[2][5];

解析:二维数组 a 可以看成一个两行五列的数组。

多维数组的引用(以二维数组为例)

对二维数组中的每个元素,引用方式为 arrayName[index1] [index2],例如:

num[1] [0];

其实二维甚至多维数组十分好理解,我们把两个或者多个值当做定位就好。

原来的数组就是一条线,我们知道一个位置就好

二维就是一个面,两点确定一个位置

三维呢,就需要三个点来确定

。。。

依次理解即可!

获取数组长度:

a.length获取的二维数组第一维数组的长度,a[0].length才是获取第二维第一个数组长度。

原文地址:https://www.cnblogs.com/koss/p/14453175.html