Java中的通用API

Math:

      帮助我们进行数学计算的工具类,私有化构造方法,所有的方法都是静态的

      常用方法:

                public static int abs/absExact(int a):获取参数的绝对值

                public static double ceil(double a):向上取整,向正无穷大方向获取距离最近的整数

                public static double floor(double a):向下取整,向负无穷大方向获取距离最近的整数

                public static int round(float a):四舍五入

                public static int max/min(int a,int b):获取两个int值中的较大/小值

                public static double pow(double a,double b):返回a的b次幂的值,b一般为大于等于1的正整数

                public static double random():返回值为double的随机值,范围[0.0,1.0)

System:

       System也是一个工具类,提供了一些与系统相关的方法

       常用方法:

                public static void exit(int status):终止当前运行的Java虚拟机

                public static long currentTimeMillis():返回当前系统的时间毫秒形式

                public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数):数组拷贝

                        1.数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错

                        2.在拷贝时需要考虑数组的长度,如果超出范围也会报错

                        3.如果数据源数组和目的地数组都是引用数据类型,那么子类类型可以赋值给父类类型

Runtime:

        Runtime表示当前虚拟机运行环境

        常用方法:

                public static Runtime getRuntime():当前系统的运行环境对象

                public void exit(int status):停止虚拟机

                public int availableProcessors():获得CPU的线程数目

                public long maxMemory():JVM能从系统中获取的总内存大小(byte)

                public long totalMemory():JVM已经从系统中获取的总内存大小(byte)

                public long freeMemory():JVM剩余内存大小(byte)

                public Process exec(String command):运行cmd命令

Object

        Object是Java中的顶级父类,所有的类都直接或间接继承于Object类

        Object类中的方法可以被所有子类访问。

        构造方法:

                public Object():空参构造

        成员方法:

                public String toString():返回对象的字符串表示形式

                        打印一个对象时就会调用对象内部的toString方法,把对象变成字符串

                        如果没有重写的话打印的内容是对象的地址值

                        如果想要打印输出对象的地址值就需要重写对象的toString方法

                public boolean equals(Object obj):比较两个对象是否相等

                        如果没有重写equals方法,默认使用Object类中的方法进行比较,比较的是地址值是否相等

                        

                        重写之后的equals比较的是对象内部的属性值

                protected Object clone(int a):对象克隆

                        把A对象的属性值完全拷贝给B对象,也称为对象拷贝、对象复制

                        方法会在底层创建一个对象,并把原对象中的数据拷贝过去

                        1.重写Object中的clone方法

                        2.让javabean类实现Cloneable接口

                        3.创建对象并调用clone方法即可

                        浅克隆:不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来

                        深克隆:基本数据类型拷贝过来,字符串复用,引用数据类型创建新的对象

                        Object类中的clone方法默认是浅克隆,如果需要深克隆的话需要重写clone方法

Objects工具类:

        成员方法:

                public static boolean equals(Object a,Object b):先做非空判断,比较两个对象

                               1.方法底层会判断s1是否为null,如果为null直接返回false

                               2.如果s1不为null,利用s1再次调用equals方法

                               3.如果没有重写equals方法,则比较地址值,如果重写则比较属性值

                public static boolean isNull(Object obj):判断对象是否为null,为null返回true,反之返回false

                public static boolean nonNull(Object obj):判断对象是否为null,和isNull结果相反               

BigInteger:

             在Java中整数有四种类型:byte,short,int,long

             数据范围超出long后需要使用BigInteger

             BigInteger一旦创建对象后其内部的值不能被改变

             构造方法:

                        public BigInteger(int num,Random rnd):获取随机大整数,范围:[0~2的num次方-1]

                        public BigInteger(String val):获取指定的大整数

                                   字符串内部必须是整数,否则会报错

                        public BigInteger(String val,int radix):获取指定进制的大整数

                                    字符串内部必须是整数,否则会报错

                                    字符串中的数字必须要和进制符合(二进制只能为0或1)

                        public static BigInteger valueof(long val):静态方法获取BigInteger对象 内部有优化

                                    能表示的范围比较小(在long的取值范围内)

                                    在内部对常用的数字进行了优化(-16~16),多次获取不会创建新的对象

                       1.如果BigInteger表示的数字没有超出long的表示范围,可以使用静态方法获取

                       2.如果BigInteger表示的超出long的范围,可以使用构造方法获取

                       3.对象一旦创建,BigInteger内部的记录值不能发生改变

                       4.只要进行计算就会产生一个新的BigInteger对象

             成员方法:

                        public BigInteger add(BigInteger val):加法

                        public BigInteger subtract(BigInteger val):减法

                        public BigInteger multiply(BigInteger val):乘法

                        public BigInteger divide(BigInteger val):除法,获取商

                        public BigInteger[] divideAndRemainder(BigInteger val):除法,获取商和余数

                        public boolean equals(Object o):比较是否相同

                        public BigInteger pow(int exponent):次幂

                        public BigInteger max/min(BigInteger val):返回较大值/较小值

                        public int intValue(BigInteger val):转换为int类型整数,超出范围有误

BigDecimal:

           用于小数的精确运算以及表示很大的小数

           构造方法:

                        public BigDecimal(String val):获取指定的BigDecimal,能够确保数据的精确

                                   字符串内部必须是整数,否则会报错

                        public static BigDecimal valueof(double val):静态方法获取BigDecimal对象

                        1.如果表示的数字没有超出double的范围,建议使用静态方法valueOf获取对象

                        2.如果表示的数字超出double的范围,建议使用构造方法获取对象

                        3.如果传递的是0~10之间的整数,那么会返回已经创建好的对象

        成员方法:

                        public BigDecimal add(BigDecimal val):加法

                        public BigDecimal subtract(BigDecimal val):减法

                        public BigDecimal multiply(BigDecimal val):乘法

                        public BigDecimal divide(BigDecimal val):除法,获取商

                        public BigDecimal divide(BigDecimal val,精确几位,舍入模式):除法,获取商

                                   舍入模式:

                                                UP:远离零方向舍入

                                                DOWN:靠近零方向舍入

                                                HALF_UP:四舍五入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值