一般先判断 数组是否为空,然后再判断长度是否为0,因为可能报空指针异常。
不初始化的时候,默认是null。
所以如果在一行代码中要同时判断的时候需要这样写:
if(array == null || array.length == 0)
注意||是度短路,如果为空,后面就不判断了。
package com;
public class ArrayTree {
public static void main(String[] args) {
//创建数组
int []arr={1,2,3,4,5,6,7};
ArrayBinaryTree arrayBinaryTree=new ArrayBinaryTree(arr);
arrayBinaryTree.preOrder(0);
}
}
class ArrayBinaryTree{
private int[]arr;
public ArrayBinaryTree(int[] arr) {
this.arr = arr;
}
//前序遍历
public void preOrder(int index){
//如果数组为空
if(arr==null||arr.length==0)
System.out.println("数组为空");
//输出当前元素
System.out.print(arr[index]+" ");
//向左递归
if((index*2+1)<arr.length){
preOrder(2*index+1);
//向右递归
if((index*2+1)<arr.length){
preOrder(2*index+2);
}
}
}
}