1. BigInteger
1.1 概述
Integer类作为int的包装类,能存储的最大整型值为231-1,Long类也是有限的, 最大为263-1。如果要表示再大的整数,不管是基本数据类型还是他们的包装类 都无能为力,更不用说进行运算了
java.math包的BigInteger可以表示不可变的任意精度的整数。BigInteger 提供
所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。 另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、 位操作以及一些其他操作
1.2 使用
加和 + .add
相减 - .subtract
乘积 * .multiply
除 / .divide
取余 % .remainder
2. Math
2.1 概述
java.lang.Math提供了一系列静态方法用于科学计算。其方法的参数和返回
值类型一般为double型
2.2 常用方法
3. 异常机制
3.1 常见异常
①空指针异常
②下标越界异常
③类型转换异常
④栈内存溢出
3.2 概述
异常是Java中提供的一种识别及响应错误情况的一致性机制。有效地异常处理能使程序更加健壮、易于调试,就是出现错误的一种说法
3.3 异常原因
① 用户输入了非法数据
② 要打开的文件不存在
③ 网络通信时连接中断
④ JVM内存溢出
⑤ 这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的
3.4 继承体系
3.5 Exception
概述 :
Exception是所有异常类的父类。分为非RuntimeException和RuntimeException
非RuntimeException 指程序编译时需要捕获或处理的异常
RuntimeException 指程序编译时不需要捕获或处理的异常
常用方法 :
3.6 try...catch...
try...catch... : 处理异常,一般用于客户端
声明 :
3.7 throws
throws 抛出异常,该方式并不会处理解决问题,是一种提醒机制,告诉调用人员,这里可能会有错误
如果指导如何解决,则使用try解决问题,否则就要通过throws抛出问题只要下家提醒了你,要么你解决问题,否则就要通过throws抛出问题
throws 可以同时抛出多个异常,多个用逗号隔开
3.8 finally
finally : 必须执行的语句块,不能单独使用,必须和try 或者try..catch..一起使用
finally 只有一种不执行的情况,那就是 System.exit(0);
声明 :
3.9 不能有更宽泛的异常
方法覆写,不能比原方法有更宽泛的异常
子类方法抛出的异常,不能大于父类异常,即小于等于父类异常均可
4. 自定义异常类
1. 继承一个已有的异常类,如果是运行时异常,则继承RuntimeException 反之则继承 Exception即可一般情况下,我们写的 一定是编译时异常
2. 公共的无参构造
3. 公共的有参构造,参数是错误信息,然后通过super传递给父类