JavaAPI 工具类

工具类

Math

public static int abs (int a) 获取参数绝对值

public static duble ceil (doouble a)向上取整

public static duble floor (doouble a)向下取整

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

public static int max (int a,int b)获取两个int值中最大的数

public static double pow(double a , double b) 返回a的b次幂的值

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

public static double sqrt(double a) 返回a的平方根

public static diuble cbrt (double a) 返回a的立方根

API帮助文档

System

System . exit 终止当前运行的Java虚拟机

system . currentimemilllis() 返回当前系统的时间毫秒值形式 用long接收

system.arraycope(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)复制数组

1.如果两个数数组都是基本类型,那么两着的类型必须保持一致,否则会报错

2.拷贝的时候需要考虑数组长度,超出会报错

3,如果两个数组都是引用数组,拷贝的是地址值 子类类型可以传递给父类类型

Runtime

表示当前虚拟机的状态

Runtime.getRuntime(); 获取当前系统的运行对象

Runtime().exit(0) 停止虚拟机

Runtime().availableprocessors 获取CPU的总线程

Runtime().maxMemory JVM可以在系统中获取内存总大小 单位为字节BYTE

Runtime().totalMemory JVM已经从系统中获取的内存大小 单位为字节BYTE

Runtime().freeMemory JVM剩余内存大小

Runtime().exec (String) 运行cmd命令

//shutdown : 关机

//加上参数才能执行

-s: 默认一分钟之后关机

-s -t 指定时间:指定关机时间

-s :取消关机操作

-r :关机并重启

equals

1.如果没有重写equals方法,那么默认使用object中的方法进行比较,比较的是地址值

2,一般来讲比较地址值对于我们意义不大,所以我们会进行重写,重写之后比较的就是对象内部的属性值了

Clone

1.重写object类的clone方法

2.让JavaBean实现Cloneable接口

3,创建原对象并调用clone就可以了

浅克隆

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

深克隆

基本数据类型拷贝过来 字符串复用 引用数据类型会重新创建新的

toString

1.返回对象的字符串表示形式

2.当我们打印一个对象的时候,底层会调用对象的toString方法,把对象变成字符串然后再打印在控制台上,打印完毕换行处理

3.默认打印的是地址值,但对于我们是没有意义的,如果我们想看到对象内部的属性值,重写toString方法就可以了

Objects

1.Objects是一个对象工具类,提供了一些操作对象的方法

2.equals(对象1,对象2):先做非空判断,在比较两个对象;

3,isNull(对象):判断对象是否为空

3.nonNull(对象):判断对象是否不为空;

Biginteger

java 复制代码
// public BigInteger (int num ,Random rnd)  获得随机大的整数,范围是[0 ~ 2的num次幂-1]
 Random rand = new Random();
 BigInteger  a = new BigInteger(3,rand);
 System.out.println(a);
 BigInteger b = new BigInteger("1");
 // public BigInteger(String val )  获取指定的大整数
 //细节
 //1。字符串必须是整数,否则会报错
 System.out.println(b);
 // public BigInteger(String val,int radix ) 获得指定进制的大整数
 //细节
 //1.字符串必须是整数,否则会报错
 //2.字符串中的数字必须跟进制吻合,否则会报错,比如二进制必须为0和1
 BigInteger c = new BigInteger("100",2);
 System.out.println(c);
 //静态方法获取Biginteger
 //细节
 // 1.表示的范围比较小,在long的范围内,超出就会报错
 // 2,在内部对常用的数字就行了优化 -16~16
 //提前对-16~16创建好了BigInteger对象,如果多次创建不会获取新的
BigInteger D =  BigInteger.valueOf(1000);
System.out.println(D);
//一旦创建对象,内部记录的值就不会发生改变
 //只要参与计算,就会创建一个新的BigInteger对象
 BigInteger S1 =  BigInteger.valueOf(1);
 BigInteger S2 =  BigInteger.valueOf(11);
 BigInteger result =S1.add(S2);
 System.out.println(result == S1);//false
java 复制代码
 BigInteger S1 = new BigInteger("100");
 BigInteger S2 = new BigInteger("111");
 //add 加
 BigInteger result = S1.add(S2);
 System.out.println(result);
 BigInteger[] arr = S2.divideAndRemainder(S1);
 //除法,获取商和余数
 System.out.println(arr[0]);
 System.out.println(arr[1]);
 //减法
 BigInteger result0 = S2.subtract(S1);
 System.out.println(result0);
//比较两个值大的大小
 boolean equals = S1.equals(S2);
 System.out.println(equals);
 //获取两个数之间的最大值
 BigInteger max = S1.max(S2);
 System.out.println(max);
 //获取两个数之间的最小值
 BigInteger min = S1.min(S2);
 System.out.println(min);
 //获取当前数字的次幂
 BigInteger pow = S1.pow(2);
 System.out.println(pow);
 //将 BigInteger转为int类型,超出范围数值有误
 int i = S1.intValue();

BigDecimal

1.创建对象

Java 复制代码
//通过传递double类型的小数来创建方法
//细节:这种方法可能是不精确的,所以不建议使用
BigDecimal s1 = new BigDecimal(9.0);
//通过传递字符产的方法创建对象
BigDecimal s4 = new BigDecimal("9.0");
BigDecimal s2 = new BigDecimal("9.0");
BigDecimal s3 = s1.add(s2);
System.out.println(s3);
//通过静态方法创建对象
BigDecimal s5 = BigDecimal.valueOf(9);
BigDecimal s6 = BigDecimal.valueOf(9);
System.out.println(s5 == s6);
//细节:
// 1.如果表示的数不大,没有超过double的范围,建议使用静态方法
//2. 如果超出范围,建议使用构造方法
//3. 如果我们传递的是0~10之间的整数,包括0还有10,那么方法会返回已经创建好的对象,不会new BigDecimal

2.方法

java 复制代码
 BigDecimal S1 = new BigDecimal(10);
 BigDecimal S2 = new BigDecimal(3);
 //加法
 BigDecimal S3 = S1.add(S2);
// System.out.println(S3);//12
 //乘法
 BigDecimal S4 = S1.multiply(S2);
 //System.out.println(S4);//20
 //除法
 BigDecimal S6 = S1.divide(S2);
 //除法(被除数,保留几位小数,四舍五入)
 BigDecimal S5 = S1.divide(S2, 2, RoundingMode.HALF_UP);
 System.out.println(S5);//3.33
 //减法
 BigDecimal S7 = S1.subtract(S2);
 System.out.println(S6);//7
相关推荐
tb_first44 分钟前
LangChain4j简单入门
java·spring boot·langchain4j
独自破碎E1 小时前
【BISHI9】田忌赛马
android·java·开发语言
范纹杉想快点毕业1 小时前
实战级ZYNQ中断状态机FIFO设计
java·开发语言·驱动开发·设计模式·架构·mfc
smileNicky1 小时前
布隆过滤器怎么提高误差率
java
それども1 小时前
分库分表的事务问题 - 怎么实现事务
java·数据库·mysql
Java面试题总结2 小时前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
马猴烧酒.2 小时前
【面试八股|Java集合】Java集合常考面试题详解
java·开发语言·python·面试·八股
测试工程师成长之路2 小时前
Serenity BDD 框架:Java + Selenium 全面指南(2026 最新)
java·开发语言·selenium
lang201509282 小时前
Java JSON绑定API:JSR 367详解
java·java-ee
eWidget2 小时前
随机森林原理:集成学习思想 —— Java 实现多棵决策树投票机制
java·数据库·随机森林·集成学习·金仓数据库