1.int []a = new int[10];
a.length = 10,a的最大下标为9
在进行循环输出时,循环控制部分应为i<a.length
2.int []a = new int[10]; int []b = new int[10];
if(i<L.length&&j<R.length&&L[i]<=R[j]){
a[k] = L[i];
i+=1;
}else if(i<L.length&&j<R.length&& L[i]>R[j]){
a[k] = R[j];
j+=1;
}
在进行此类比较时,if(i<L.length&&j<R.length&&L[i]<=R[j])与
if(L[i]<=R[j]&&i<L.length&&j<R.length)区别
在判断条件时,会从左到右依次判断,如果是第一种情况,先判断是否越界,后比较,不会出现数组越界问题,但是如果采用第二种,先比较后判断,则可能会出现数组越界问题(ArrayIndexOutOfBoundsException),导致失败