JAVA学习Day03

Java学习Day03

数组补充

Arrays类

  • Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(注意是“不用”而不是"不能")。
  • 常用功能:
    • 给数组赋值:通过fill方法。
    • 对数组排序:通过sort方法,按升序。
    • 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。

冒泡排序


    /* 冒泡排序
     1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置
     2.每一次比较,都会产出一个最大,或者最小的数字。
     3.下一轮就可以少一次排序
     4.依次循环,直到结束!
    */

public class ArraySort {
    public static void main(String[] args) {
        int [] arr = {1,2,3,4,5};    //创建一个数组
        System.out.print("冒泡排序前:");
        printArray(arr);                    //打印数组元素
        bubbleArray(arr);                   //调用排序方法
        System.out.print("冒泡排序后:");
        printArray(arr);                    //打印数组元素
    }

    //打印数组元素的方法
    public static void printArray(int [] arr) {
        //遍历数组的元素
        for (int j : arr) {
            System.out.print(j + "\t");  //打印元素和空格
        }
        System.out.println();
    }

    //排序数组元素的方法
    public static void bubbleArray(int [] arr){
        //定义外层循环
        for (int i = 0; i<arr.length-1;i++){
            boolean flag = false;       //通过flag标识位减少没有意义的比较
            //定义内层循环
            for (int j = 0; j<arr.length-i-1;j++){
                if (arr[j]<arr[j+1]){   //比较相邻元素
                    //下面三行代码用于交换两个元素
                    int temp = arr[j];  //  创建一个int类型成员变量temp,并将数组下标为j的值赋给 temp 即arr[j]=?→ temp
                    arr[j] = arr[j+1];  //  将数组下标为 j+1 的值 赋给 数组下表为 j 的位置上
                    arr[j+1] = temp;    //  将变量temp保存的数组小标为 j 的元素的值 赋给 数组下表 j+1 的位置上
                    //元素交换完成
                    flag = true;
                }
            }
           if (!flag){
                break;
            }

            System.out.print("第"+(i+1)+"轮排序后:");
            printArray(arr);            //每轮比较结束 打印数组元素
        }
    }
}
冒泡排序前: 1	2	3	4	5	
第1轮排序后:2	3	4	5	1	
第2轮排序后:3	4	5	2	1	
第3轮排序后:4	5	3	2	1	
第4轮排序后:5	4	3	2	1	
冒泡排序后: 5	4	3	2	1	
上一篇:东软实训 JavaSE day03


下一篇:Python第三阶段学习redis day03