一 BigInteger
1、Integer类作为int的包装类,能存储的最大整型值为231-1,Long类也是有限的, 最大为263-1。如果要表示再大的整数,不管是基本数据类型还是他们的包装类 都无能为力,更不用说进行运算了。
2、java.math包的BigInteger可以表示不可变的任意精度的整数。BigInteger 提供
所有 Java 的基本整数 *** 作符的对应物,并提供 java.lang.Math 的所有相关方法。 另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、 位 *** 作以及一些其他 *** 作。
3使用方法
//必须传入字符串 BigInteger v1 = new BigInteger("1233212"); 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.divide(v3); System.out.println(result); // * result = v2.multiply(v3); System.out.println(result); // % result = v2.remainder(v3); System.out.println(result);
二 Math
2.1 java.lang.Math 提供了一系列静态方法用于科学计算,他方法的参数和返回值类型一般为double型
2.2使用方式
//绝对值 System.out.println(Math.abs(-2)); //向上取整,有小数,就进位 System.out.println(Math.ceil(2.0000001)); //返回最大值 System.out.println(Math.max(2.1, 3.2)); //返回最小的值 System.out.println(Math.min(2.1, 1.2)); //开平方 System.out.println(Math.sqrt(64)); //开立方 System.out.println(Math.cbrt(27)); //返回一个 大于等于0且小于1的随机数 System.out.println(Math.random()); //四舍六入五取偶,当小数大于0.5 就进1,小于0.5就舍去 System.out.println(Math.rint(2.5000001)); System.out.println(Math.rint(9.5)); //N的M次幂,2的3次幂 System.out.println(Math.pow(2, 3));
三 异常机制
3.1 目前碰到过的异常有: 空指针异常 , 下标越界异常, 类型转换异常, 栈内存溢出
3.2 异常是java 种提供的一种识别及响应错误情况的一致性机制。 有效的异常处理能使程序更加健壮。
异常 其实就是错误的一种说法,在java中有一个专门模拟所有异常和错误的类,是所有类的父类
try .......catch..:处理异常,一般用于客户端
throws: 抛出异常,一般用于服务端,
throw : 异常原点
finally: 必须执行的语句
3.3继承体系
分为俩大类: Error 和 Exception
Error :系统内部出错,这类错误 由系统进行处理,程序本身 无需 捕获处理
而Exception :是所有异常的父类,分为 非RuntimeException 和RuntimeException
非RuntimeException :指程序编译时需要捕获或处理的异常
RuntimeException: 指程序编译时 不需要捕获或 处理的异常 一般由程序员粗心导致 如:空指针异常,数组越界,类型转换异常
3.4 常用方法
public String getMessage() :返回关于发生的异常的详细信息,这个消息在Throwable 类的构造函数中初始化了
public void printStackTrace() : 打印toString() 结果和 栈层次到System err 即错误输出流
3.5 Tty.....catch..
高风险代码
只要出错 就执行catch ,try 中剩余代码不在执行
如果没出错,try就可以顺利执行完成,并且 catch不再执行
}catch(异常类型 变量){
处理方案 ..
try{
public static void mmain(String[] args){ try{ //加载对应的文件 FileInputStream fis = new FileInputStream("12"); System.out.println("========="); }catch(Exception e){ // 打印错误栈帧和信息,一般用于程序员排错 e.printStackTrace(); //获取错误信息,一般用于反馈给客户端 String msg = e.getMessage(); System.out.println(msg); System.out.println("xaxaxaxx"); } // 不在终止生命周期执行 System.out.println(2222); }
.
try{ * 高风险代码; * }catch(异常类型 变量){ * 处理措施; * }catch(异常类型 变量 ){ * 处理措施 * }catch(异常类型 变量){ * 处理措施 * }............ * 可以写多个catch 但是从上往下,必须是从子类到父类,或没有继承关系 * */ public class Exception_04 { public static void main(String[] args){ //当try 下边可能会出现多个异常的时候,并且每个异常都对应的解决方案不同的时候 //需要写多个catch进行不同的处理,如果解决方案一致,则只写一个exception即可 try{ new FileInputStream("122"); String stre =null; System.out.println(stre.trim()); }catch(FileNotFoundException e){ System.out.println("找不到指定文件"); }catch(IOException e){ }catch(NullPointerException e){ System.out.println("不能为空"); }catch(Exception e){ System.out.println("其他异常"); } }
try{ * * }catch(异常类型1 | 异常类型2| 异常类型3){ * } * 同时捕捉多个异常,并且多个异常类型直接用 |隔开,并且不能有继承关系 * 如果有继承关系,则直接写父类即可 * @author 田彪 * @Date 2022年1月17日-下午7:12:39 */ public class Exception_05 { public static void main(String[] args){ try{ new FileInputStream("121"); }catch(FileNotFoundException | NullPointerException e){ } }
3.6 Throws
throws 抛出异常,是一种提醒机制,告诉调用人员,这里可能有错误,使用try解决问题, 只要下家提醒了,要么解决问题,要么抛给上家
public static void main(String[] args){ try{ m1(); }catch(Exception e){ e.printStackTrace(); //解决错误的措施 } System.out.println("========="); } // throws 可以同时抛出多个异常, 用多个 逗号隔开 public static void m1() throws FileNotFoundException,Exception{ m2(); } public static void m2() throws FileNotFoundException{ m3(); } public static void m3() throws FileNotFoundException{ new FileInputStream("221"); }
3.7 Finally
finally: 必须执行的语句块 必须和 try 或者try....catch 一起使用 不能单独使用。 只要在System.exit(0); 这一种情况下不执行
public static void main(String[] args){ try{ FileInputStream fis = new FileInputStream("21"); System.out.println(fis); }catch(IOException e){ e.printStackTrace(); }finally{ System.out.println("必须执行"); } }
3.8 自定义 异常类!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1 继承 一个已有的异常类, 如果是运行时异常,则继承RuntimeException 反之 继承Exception即可,一般情况下,我们写的一定四编译时异常
2 公共的无参构造
3公共的有参构造,参数似乎错误信息,然后通过super 把错误信息传递到父类
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)