java三种打印数组的方法以及两种常见异常
- 三种打印数组的方法
- 两种常见异常
一、三种打印数组的方法
1.for循环遍历数组
int[] arr = {1,2,3};
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i] + " ");
}
2.for-each遍历数组
int[] arr = {1,2,3};
for(int x:arr){
System.out.print(x + " ");
}
for循环和for-each循环的区别:
for循环可以拿到数组的下标,for-each循环只能拿到数组的值。
3.Arrays工具类中toString方法遍历数组
//使用时要加包:
//import java.util.Arrays;
int[] arr = {1,2,3};
String str = Arrays.toString(arr);
System.out.println(str);
- Arrays:是一个工具类,专门用来操作数组的。
- toString:是一个方法,打印数组,这个方法的返回值是String类型,会将数组转化为字符串进行输出。
- 上述代码也可以直接写成以下版本:
int[] arr = {1,2,3};
System.out.println(Arrays.toString(arr));
二、两种常见异常
1.数组下标越界
int[] arr = {1,2,3};
System.out.println(arr[10]);
下标访问操作不能超出有效范围[0,length-1],超出范围,会抛出以上异常。所以,使用数组时,一定要谨记下标防止越界。
2.空指针异常
//此时的arr这个引用不指向任何对象。
int[] arr = {1,2,3};
arr = null;
System.out.println(arr[2]);
System.out.println(arr.length);
1.上述异常称作空指针异常,需要检查引用是否为null。
2.原来定义数组时,指向的对象{1,2,3}会被JVM的垃圾回收器回收。
3.何时回收?-----当引用没有指向时。
4.null在java中类似于C语言的NULL(空指针),都是表示一个无效位置,因此不能对这个内存进行任何读写操作,一旦尝试读写,就会抛出上述的空指针异常。
5.java中并没有约定null和0号地址有任何关联。