Java中的Math类、Arrays类和System类

Math类

Math.abs(); 绝对值

Math.pow(n,n); n的n次方

Math.ceil(); 向上取整,返回>=该参数的最小整数(转成double)

Math.floor(); 向下取整,返回<=该参数的最大整数(转成double)

Math.round(); 四舍五入

Math.sqrt(); 求开方

Math.random(); 求随机数,返回的是 0 <= x < 1之间的一个随机小数
Math.random() * (b - a) 返回的就是 0 <= 数 <=b-a
获取a-b之间的整数 (int)(a + Math.random() * (b-a+1))

Math.min(a,b);//返回ab的最小值

Math.max(a,b);//返回ab的最大值

Arrays类

Arrays里面包含了一系列静态方法,用于管理或操作数组(比如排序和搜索)

  1. toString 返回数组的字符串形式 Arrays.toString(arr)
  1. sort排序(自然排序和定制排序) Integer arr[] = {1,-1,7,0,89};
Arrays.sort(books, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                Book book1 = (Book) o1;
                Book book2 = (Book) o2;
                return book2.getName().length() - book1.getName().length();
            }
        });
Arrays.sort(books, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                Book book1 = (Book) o1;
                Book book2 = (Book) o2;
                double priceVal = book2.getPrice() - book1.getPrice();
                if (priceVal > 0){
                    return 1;
                } else if (priceVal < 0) {
                    return -1;
                } else {
                    return 0;
                }
            }
        });
  1. binaryScarch 通过二分搜索进行查找,要求必须排好序
    int index = Arrays.binarySearch(arr,3);
    如果数组中不存在改元素,就返回 return -(low + 1)
    low是应该存在的位置,就是在数组中由小到大排序后,可能存在的位置
  1. copyOf数组元素的复制
    Integer[] newArr = Arrays.copyOf(arr,arr.length);
    从 arr 数组中,拷贝 arr.length 个元素到 newArr 数组中
    如果拷贝的长度小于0,就抛出异常NegativeSizeException
  1. fill数组元素填充
    Integer[] num = new Integer[]{9,3,2};
    Arrays.fill(num,99);
    使用 99 取填充 num 数组,可以理解成是替换原来的元素
  1. equals 比较两个数组元素内容是否完全一致
    boolean equals = Arrays.equals(arr,arr2)
    真返回true,如果不完全一样返回false
  1. asList 将一组值,转换成list
    List asList = Arrays.asList(2,3,4,5,6,1);
    System.out.println(“asList=” + asList);
    asList 方法会将(2,3,4,5,6,1)数据转成一个List集合
    返回的 asList 编译类型 List(接口)
    asList 运行类型 java.util.Arrays#ArraysList 是Arrays类的静态内部类

System类常见方法和案例

  1. exit 退出当前程序
    System.exit(0);//退出当前程序,0表示一个状态,正常的状态
  1. arraycopy:复制数组元素,比较适合底层调用,一般使用Arrays.copyOf完成复制数组
    int[] src = {1,2,3};
    int[] dest = new int[3];
    System.arraycopy(src,srcPos,dest,destPos,length);
    一般不用arraycopy,用的是Arrays.copyOf(),因为底层就是arraycopy

主要是搞清楚这五个参数的含义

  1. 源数组 * @param src the source array.
  2. srcPos: 从源数组的哪个索引位置开始拷贝 * @param srcPos starting position in the source array.
  3. dest : 目标数组,即把源数组的数据拷贝到哪个数组 * @param dest the destination array.
  4. destPos: 把源数组的数据拷贝到 目标数组的哪个索引 * @param destPos starting position in the destination data.
  5. length: 从源数组拷贝多少个数据到目标数组 * @param length the number of array elements to be copied.
  1. currentTimeMillens:返回当前时间距离1970-1-1的毫秒数
    System.currentTimeMillens();
  1. gc:运行垃圾回收机制 System.gc()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值