遍历数组
传统方法
利用接口 数组名
.length
可以通过循环来进行索引遍历,这点和 C++ 是基本一样的。
令我比较欣喜的是,Java 中居然有迭代遍历。
迭代遍历 for each
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
for (int i: arr) {
System.out.printf("%d ", i);
}
}
}
在不需要使用数组索引的情况下,可以酌情选择使用该循环,但一般来说,尽量少用。
打印数组
直接打印数组,得到的是JVM中的引用地址,没有意义。
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
System.out.println(arr);
}
}
输出结果:[I@5ccd43c2
同时,使用for each
进行打印也显得很麻烦。
让人非常兴奋的是,Java 中提供了语法糖Arrays.toString()
,麻麻再也不用担心我浪费时间写打印数组啦!
java
import java.util.Arrays;
//import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
System.out.println(Arrays.toString(arr));
}
}
练习
请按倒序遍历数组并打印每个元素:
java
import java.util.Arrays;
//import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
for (int i = arr.length - 1; i >= 0; i --) {
System.out.printf("%d ", arr[i]);
}
}
}