本文主要内容为数组遍历与排序。
数组遍历
for循环遍历数组
1 | public class Main { |
for each循环遍历数组
1 | public class Main { |
变量n直接拿到ns数组的元素,而不是索引。
打印数组内容
直接打印数组变量,得到的是数组在JVM中的引用地址:
1 | int[] ns = { 1, 1, 2, 3, 5, 8 }; |
使用for each循环来打印数组内容:
1 | int[] ns = { 1, 1, 2, 3, 5, 8 }; |
Java标准库提供了Arrays.toString(),可以快速打印数组内容:
1 | import java.util.Arrays; |
数组排序
冒泡排序
使用冒泡排序算法对一个整型数组从小到大进行排序:
1 | import java.util.Arrays; |
内置排序
Java的标准库已经内置了排序功能,我们只需要调用JDK提供的Arrays.sort()就可以排序:
1 | import java.util.Arrays; |
注意
对数组排序实际上修改了数组本身
多维数组
二维数组
定义
二维数组就是数组的数组。
1 | public class Main { |
1 | arr0 ─────┐ |
二维数组的每个数组元素的长度并不要求相同,例如,可以这么定义ns
数组:
1 | int[][] ns = { |
打印
要打印一个二维数组,可以使用两层嵌套的for循环:
1 | for (int[] arr : ns) { |
或者使用Java标准库的Arrays.deepToString()
:
1 | import java.util.Arrays; |
命令行参数
- 命令行参数类型是
String[]
数组; - 命令行参数由JVM接收用户输入并传给
main
方法;
可以利用接收到的命令行参数,根据不同的参数执行不同的代码。例如,实现一个-version
参数,打印程序版本号:
1 | public class Main { |
上面程序必须在命令行执行,先编译:
1 | $ javac Main.java |
然后,执行的时候,给它传递一个参数-version
,则输出v 1.0:
1 | $ java Main -version |
这样,程序就可以根据传入的命令行参数,作出不同的响应。