java面试笔试谈

例一:

public class Inc  {

    public static void main(String[] args) {

        Inc inc=new Inc();

        int i=5;

        inc.fermin(i);

        i=i++;//temp=i;i++;i=temp;

        System.out.println(i);

    }

    void fermin(int i){

        i++;

    }

}

结果是:
5

例二:插入排序,数组越界

public class InsertSort{

    



public static int[] sort(int[] intArray){

    int size=intArray.length;

    for(int i=1;i<size;i++){

        for(int j=i;intArray[j]<intArray[j-1] && j > 0;j--)

        {

            int temp=intArray[j-1];

            intArray[j-1]=intArray[j];

            intArray[j]=temp;    

        }        

    }    



    return intArray;    

}    

    public static void main(String[] args){

    int[] arr={2,5,7,1,6,11,3,8};

    //插入排序

    InsertSort.sort(arr);

    for(int i: arr){

        System.out.println(i);

    }        

    }

}

结果:
java.lang.ArrayIndexOutOfBoundsException

打入两个断点,F6键调试。

修正版本如下:

public class InsertSort{

    



public static int[] sort(int[] intArray){

    int size=intArray.length;

    for(int i=1;i<size;i++){

        for(int j=i; j > 1&&intArray[j]<intArray[j-1];j--)

        {

            int temp=intArray[j-1];

            intArray[j-1]=intArray[j];

            intArray[j]=temp;    

        }        

    }    



    return intArray;    

}    

    public static void main(String[] args){

    int[] arr={2,5,7,1,6,11,3,8};

    //插入排序

    InsertSort.sort(arr);

    for(int i: arr){

        System.out.println(i);

    }        

    }

}

从小到大的一个排序。

 

你可能感兴趣的:(Java面试)