【无标题】 JAVA常用API

  

1.常用数学方法:

Math.abs( int a   ).获取绝对值
Math.ceil( double a    ).向上取整
Math.floor( double a  ).向下取整
Math.round(  double a  ).向下取整
Math.max( double a  ,double b   ).求两个数的最大值

Math.min( double a  ,double b   ).

求两个数的最小值
Math.pow( double a  ,double b   ).获取a的b次幂
Math.sqrt( double a ).开平方根

Math.cbrt(double a ). 开立方根

Math.random(    ). 获取随机数

Math.absExact ( int a  ). 获取绝对值

注意:

1.    Math.random(    ), 返回ouble类型的随机数,且范围是 [0.0,1.0).

2.    Math.abs( int a   ).   (int的范围:    -2147483648 ~ 2147483647 ;如果输入-2147483648,由于对应的正数不在int范围内,所以不能成功获得绝对值并且不会报错,此时可用  Math.absExact ( int a  ),此方法会报错以免后续自己寻找错误浪费时间.

2.

System:

3.

.Object和Objects:

4.

BigDecimal:

解决精度的手段:

注意:

  1. 直接调用方法,不用在new对象
  2. c1和rs结果一样,但是类型不一样

c1是一个对象值,而rs为double类型值

5.

BigInteger:

6.Arrays:

(1).例子:

int[] arr = {12, 5, 52, 23, 14, 23};        //定义一个数组
        Arrays.sort(arr);      //排序(升序)
        System.out.println(Arrays.toString(arr));   //获取数组(字符串类型)

 

例子:(降序获取数组)

import java.util.Arrays;
import java.util.Comparator;

Integer[] arr1 = {12, 5, 52, 23, 14, 23};
        Arrays.sort(arr1, new Comparator<Integer>() {
            //参数一:被排序的数组, 必须是引用数据类型
            //参数二:匿名内部类,代表一个比较器对象
            @Override
            public int compare(Integer o1, Integer o2) {
                //o1>
                //o1 o2数组里边的数
                //1.降序:
                // if(o1<o2){
                //     return 1;
                //  }else if(o1>o2){
                //     return -1;
                //  }
                //  return 0;
                // 默认升序 return o1-o2;
                return -(o1 - o2);//o2-o1

            }
        });
        System.out.println(Arrays.toString(arr1));

7.二分法:

步骤:

例子:

//二分查找:
public class TwoSearch {
    public static void main(String[] args) {
        int[] arr = {10, 14, 16, 18, 20, 24, 65, 85, 90};
            //       0    1   2   3  4    5   6   7   8
        System.out.println(binarySerch(arr, 100));//-1
        System.out.println(binarySerch(arr, 85));//7
    }

    //二分查找
    public static int binarySerch(int[] arr, int data) {
        //最左边位置
        int left = 0;
        //最右边位置
        int right = arr.length - 1;
        //二分法循环次数
        while (left <= right) {
            //获得中间索引
            int midindex = (left + right) / 2;
            if (data > arr[midindex]) {
                left = midindex + 1;
            } else if (data < arr[midindex]) {
                right = midindex - 1;
            } else {
                return midindex;
            }
        }
        return -1;
    }
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知意..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值