Java基础-数组操作



遍历数组

遍历数组可以使用for循环,或for each循环。使用for循环如下:

public class Main {
    public static void main(String[] args) {
        int[] ns = { 1, 4, 9, 16, 25 };
        for (int i=0; i<ns.length; i++) {
            int n = ns[i];
            System.out.println(n);
        }
    }
}

使用for each循环:

public class Main {
    public static void main(String[] args) {
        int[] ns = { 1, 4, 9, 16, 25 };
        for (int n : ns) {
            System.out.println(n);
        }
    }
}

数组内容打印

Java标准库提供了Arrays.toString(),可以快速打印数组内容

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] ns = { 1, 1, 2, 3, 5, 8 };
        System.out.println(Arrays.toString(ns));  // [1, 1, 2, 3, 5, 8]
    }
}


数组排序

排序可以使用内置方法:

Arrays.sort()


多维数组

多维数组,就是数组元素仍然是一个数组。如,以下二维数组:

public class Main {
    public static void main(String[] args) {
        int[][] ns = {
            { 1, 2, 3, 4 },
            { 5, 6, 7, 8 },
            { 9, 10, 11, 12 }
        };
        System.out.println(ns.length); // 3
    }
}


命令行参数

Java程序的入口是main方法,其可以接受一个命令行参数,该参数是一个String[]数组。

这个命令行参数由JVM接收用户输入并传给main方法。我们可以利用接收到的命令行参数,根据不同的参数执行不同的代码。例如,实现一个-version参数,打印程序版本号

public class Main {
    public static void main(String[] args) {
        for (String arg : args) {
            if ("-version".equals(arg)) {
                System.out.println("v 1.0");
                break;
            }
        }
    }
}

javac命令编译:

$ javac Main.java

然后用java命令执行,并传入-version参数:

$ java Main -version
v 1.0