ArrayIndexOutOfBoundsException-数组越界问题

版权声明: https://blog.csdn.net/qq_41484460/article/details/79947439

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),导致失败

                

阅读更多

没有更多推荐了,返回首页