day15java常用API、异常机制

1.BigInteger
1.1概述
1、Integer类作为int的包装类,能存储的最大整型值为231-1,Long类也是有限的, 最大为263-1。如果要表示再大的整数,不管是基本数据类型还是他们的包装类 都无能为力,更不用说进行运算了。

2、java.math包的BigInteger可以表示不可变的任意精度的整数。BigInteger 提供
所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。 另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、 位操作以及一些其他操作。
1.2常用方法
public BigInteger abs():返回此 BigInteger 的绝对值的 BigInteger。
BigInteger add(BigInteger val) :返回其值为 (this + val) 的 BigInteger
BigInteger subtract(BigInteger val) :返回其值为 (this - val) 的 BigInteger
BigInteger multiply(BigInteger val) :返回其值为 (this * val) 的 BigInteger
BigInteger divide(BigInteger val) :返回其值为 (this / val) 的 BigInteger。整数 相除只保留整数部分。
BigInteger remainder(BigInteger val) :返回其值为 (this % val) 的 BigInteger。
BigInteger[] divideAndRemainder(BigInteger val):返回包含 (this / val) 后跟(this % val) 的两个 BigInteger 的数组。
BigInteger pow(int exponent) :返回其值为 (thisexponent) 的 BigInteger。

1.3使用

//必须传入字符串
BigInteger v1 = new BigInteger("123123");
BigDecimal v2 = new BigDecimal(20);
BigDecimal v3 = new BigDecimal(20);
//+
BigDecimal result = v2.add(v3);
System.out.println(result);
//-
result = v2.subtract(v3);
System.out.println(result);
//*
result = v2.multiply(v3);
System.out.println(result);
// /

// %
result = v2.remainder(v3);
System.out.println(result);

1.4阶乘

public class BigInteger_02{
public static void main(String[]args){
System.out.println(test(120));
System.out.println(test1(120));
System.out.println(Long.MAX_VALUE);
}
public static long test(long n){
long result = 1;
for(int i =1;i<=n;i++){
result *=i;
}
return result;
}

public static BigInteger test1(long n){
BigInteger result = new BIgInteger("1");
for(int i = 1;i<=n;i++){
result = result.multiply(new BigInteger(i+""));
}
return result;
}
}

2.Math
2.概述
java.lang.Math提供了一系列静态方法用于科学计算。其方法的参数和返回
2.2常用方法
abs 绝对值 acos,asin,atan,cos,sin,tan 三角函数 sqrt 平方根
pow(double a,double b) a的b次幂 log 自然对数
exp e为底指数
max(double a,double b)
min(double a,double b)
random() 返回0.0到1.0的随机数
long round(double a) double型数据a转换为long型(四舍五入)
toDegrees(double angrad) 弧度—>角度
toRadians(double angdeg) 角度—>弧度
在这里插入图片描述
3.异常机制
1.空指针异常
2.下标异常
3.类型异常
4.栈内存溢出
3.2概述
异常是Java中提供的一种识别及响应错误情况的一致性机制。有效地异常处理能使程序更加健壮、易于调试。
异常发生的原因有很多,比如:

  1. 用户输入了非法数据
  2. 要打开的文件不存在
  3. 网络通信时连接中断
  4. JVM内存溢出
  5. 这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。
    在这里插入图片描述
    在这里插入图片描述
    3.3继承体系

在这里插入图片描述
3.4Error
系统内部错误,这类错误由系统进行处理,程序本身无需捕获处理。
比如:OOM(内存溢出错误)、VirtualMachineError(虚拟机错误)、StackOverflowError(堆栈溢出错误)等,一般发生这种情况,JVM会选择终止程序。
3.5Exception
3.5.1概述
Exception是所有异常类的父类。分为非RuntimeException和RuntimeException 。
 非RuntimeException
指程序编译时需要捕获或处理的异常,如IOException、自定义异常等。属于checked异常。
 RuntimeException
指程序编译时不需要捕获或处理的异常,如:NullPointerException等。属于unchecked异常。一般是由程序员粗心导致的。如空指针异常、数组越界、类型转换异常等。
3.5.2常用方法
在这里插入图片描述
3.5.3Try…catch…

try{
高风险代码
只要出错,就执行catchtry中剩余代码不再执行
如果没出错,try就可以顺利执行完成,并且catch不再执行
}catch(异常类型 变量){
处理方案;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述3.5.4Throws

在这里插入图片描述
在这里插入图片描述
3.5.5Finally
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.5.63.5.6 不能有更宽泛的异常
在这里插入图片描述
3.6自定义异常类
3.6.1需求
完成用户登陆功能
传入用户信息,校验用户名和密码是否正确,如果正确则返回该用户所有信息,反之则提示错误信息

在这里插入图片描述
3.6.2实体类
在这里插入图片描述
3.6.3异常类
在这里插入图片描述3.6.4Controller

在这里插入图片描述
3.6.5Data
在这里插入图片描述
3.6.6Dao
在这里插入图片描述
3.6.7Service
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值