Java--常用类--Math类&Arrays类
- Math类
-
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))); } } }
- Arrays类:
-
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)); } }
-
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; } }
-
-
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))); } }
-
-
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; } }
-