1. 程式人生 > 其它 >java--常用類--Math類&Arrays類

java--常用類--Math類&Arrays類

  1. Math類
    1. package com.model.math;
      
      /**
       * @Description:測試類
       * @Author: 張紫韓
       * @Crete 2021/7/4 21:54
       * 演示Math方法的使用
       */
      public class MathDemo01 {
          public static void main(String[] args) {
      //        1.求絕對值
              int i = Math.abs(9);
              System.out.println(i);
      //        2.求冪
              double pow = Math.pow(2, 5);
              System.out.println(pow);
      
      // 3.向上取整 double ceil = Math.ceil(10.5); System.out.println(ceil); // 4.向下取整 double floor = Math.floor(10.5); System.out.println(floor); // 5.四捨五入 long round = Math.round(10.5); System.out.println(round); // 6.開方 double sqrt = Math.sqrt(9); System.out.println(sqrt);
      // 7.求隨機數 double random = Math.random(); System.out.println(random); // 8.求兩個數的最大值 int max = Math.max(10, 20); // 求兩個數的最小值 int min = Math.min(10, 20); // for (int j = 0; j < 10; j++) { // System.out.println(Math.random()); //0到1的隨機數[0,1) // }
      // 返回一個2到7之間的隨機整數 int v = (int)(Math.random() * (7 - 2+1) + 2); //0<=數值<=7 System.out.println(v); int a=2; int b=7; int v1 = (int)(a + Math.random() * (b - a + 1)); for (int j = 0; j < 10; j++) { System.out.println((int)(a + Math.random() * (b - a + 1))); } } }
  2. Arrays類:
      1. package com.model.arrays;
        
        import java.util.Arrays;
        import java.util.Comparator;
        
        /**
         * @Description:測試類
         * @Author: 張紫韓
         * @Crete 2021/7/4 22:26
         * 演示Arrays類常用的方法
         */
        public class ArraysDemo01 {
            public static void main(String[] args) {
                Integer[] integers=new Integer[]{10,20,30,1,2};
                Arrays.sort(integers, new Comparator<Integer>() { //匿名內部類+介面程式設計+動態繫結
                    @Override
                    public int compare(Integer o1, Integer o2) {
                        return o1-o2;
                    }
                });
                System.out.println(Arrays.toString(integers));
            }
        }
      2. package com.model.arrays;
        
        import java.util.Arrays;
        import java.util.Comparator;
        
        /**
         * @Description:測試類
         * @Author: 張紫韓
         * @Crete 2021/7/4 23:14
         * 演示Arrays常用方法
         */
        public class ArraysDemo02 {
            public static void main(String[] args) {
                Integer[] arr=new Integer[]{1,2,5,3,45,2,2,21,10};
                Integer[] sort = mySort(arr);
                System.out.println(Arrays.toString(sort));
        
                Integer[] sort01 = mySort01(arr, new Comparator<Integer>() {
                    @Override
                    public int compare(Integer o1, Integer o2) {
                        return o1 - o2;
                    }
                });
                System.out.println(Arrays.toString(sort01));
            }
            //氣泡排序法
            public static Integer[] mySort(Integer[] arr){
                for (int i = 0; i < arr.length-1; i++) {
                    for (int j = 0; j <arr.length-i-1; j++) {
                        if (arr[j]>arr[j + 1]){
                            Integer num = arr[j];
                            arr[j]=arr[j+1];
                            arr[j+1]=num;
                        }
                    }
                }
                return arr;
            }
            //氣泡排序和定製
            public static Integer[] mySort01(Integer[] arr, Comparator<Integer> c){
                for (int i = 0; i < arr.length-1; i++) {
                    for (int j = 0; j <arr.length-i-1; j++) {
                        //compare()的返回值決定排序,最後的排序有我們控制
                        if (c.compare(arr[j],arr[j+1])>0){
                            Integer num = arr[j];
                            arr[j]=arr[j+1];
                            arr[j+1]=num;
                        }
                    }
                }
                return arr;
            }
        }
      1. package com.model.arrays;
        
        import java.util.Arrays;
        import java.util.List;
        
        /**
         * @Description:測試類
         * @Author: 張紫韓
         * @Crete 2021/7/5 12:42
         * 演示Arrays類的常用方法
         */
        public class ArraysDemo03 {
            public static void main(String[] args) {
        
        
        //        1.排序
                int[] ints=new int[]{1,7,8,9,2,3,4,6};
                Arrays.sort(ints);
                System.out.println(Arrays.toString(ints));
        //        2.查詢
                int[] ints1=new int[]{1,2,3,4,5,6,7,8,9};
                int i = Arrays.binarySearch(ints1, 8);
                System.out.println(i);
        //        3.遍歷
                System.out.println(Arrays.toString(ints));
        //        4.拷貝
                int[] newInts=Arrays.copyOf(ints, ints.length);
                System.out.println(Arrays.toString(newInts));
        
        //        5.替換填充
                int[] ints2=new int[]{1,2,3}; //將元素替換為99
                Arrays.fill(ints2,99);
                System.out.println(Arrays.toString(ints1));
        
        //        6.比較(是否完全一樣)
                int[] arr=new int[]{1,2,3};
                int[] arr2=new int[]{1,2,3};
                System.out.println(Arrays.equals(arr, arr2));
        //        7.將陣列轉為List
                List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5, 6);
                list1.forEach(System.out::println);
                int[] arr3=new int[]{1,2,3,4,5};
                List<int[]> list = Arrays.asList(arr3);
                System.out.println(Arrays.toString(list.get(0)));
        
        
            }
        }
      1. package com.model.arrays;
        
        import java.util.Arrays;
        import java.util.Comparator;
        
        /**
         * @Description:測試類
         * @Author: 張紫韓
         * @Crete 2021/7/5 14:22
         * 演示Arrays類的實際應用
         */
        public class ArraysDemo04 {
            public static void main(String[] args) {
                Book[] books = new Book[4];
                books[0] = new Book("紅樓夢", 100);
                books[1] = new Book("金ping梅新版 ", 90);
                books[2] = new Book("青年文摘2020年", 5);
                books[3] = new Book("java從入門到放棄", 300);
                Arrays.sort(books, new Comparator<Book>() {
                    @Override
                    public int compare(Book o1, Book o2) {
                        double res = o1.getPrice() - o2.getPrice();
                        if (res > 0) {
                            return 1;
                        } else if (res < 0) {
                            return -1;
                        } else {
                            return 0;
                        }
                    }
                });
                System.out.println("按照價格從小到大" + Arrays.toString(books));
        
                Arrays.sort(books, new Comparator<Book>() {
                    @Override
                    public int compare(Book o1, Book o2) {
                        double res = o2.getPrice() - o1.getPrice();
                        if (res > 0) {
                            return 1;
                        } else if (res < 0) {
                            return -1;
                        } else {
                            return 0;
                        }
                    }
        
                });
                System.out.println("按照價格從大到小" + Arrays.toString(books));
        
        
                Arrays.sort(books, new Comparator<Book>() {
                    @Override
                    public int compare(Book o1, Book o2) {
                        return o2.getName().length() - o1.getName().length();
                    }
                });
                System.out.println("按照書名長度從大到小" + Arrays.toString(books));
            }
        }
        
        class Book {
            private String name;
            private double price;
        
            @Override
            public String toString() {
                return "Book{" +
                        "name='" + name + '\'' +
                        ", price=" + price +
                        '}';
            }
        
            public String getName() {
                return name;
            }
        
            public void setName(String name) {
                this.name = name;
            }
        
            public double getPrice() {
                return price;
            }
        
            public void setPrice(double price) {
                this.price = price;
            }
        
            public Book() {
            }
        
            public Book(String name, double price) {
                this.name = name;
                this.price = price;
            }
        }