【无标题】

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常用方法和使用

BigDecimal result=v2.add(v3);  +:add   -:subtract    *:multiply
 System.out.println(result);         /:divide   %:remainder

2.Math

2.1概述

java.lang.Math提供了一系列静态方法用于科学计算。其方法的参数和返回

值类型一般为double型。

2.2常用方法和使用

System.out.println(Math.abs(-3));

abs:绝对值       ceil:向上取整       floor:向下取整

sqrt:开平方    cbrt:开立法      random:大于等于0,小于1的随机数

rint:四舍六入五取偶   pow(n,m)n的m次幂

System.out.println(Math.max(2.5, 4.1));

max:最大值   min:最小值

3.异常机制

3.1碰到过的异常

1.空指针异常

2.下标越界异常

3.类型转换异常

4.栈内存溢出

try…catch…:处理异常,一般用于客户端

throws:抛出异常,一般用于服务端

throw:异常源点

finally:必须执行的语句

3.2继承体系

 3.3Error

系统内部错误,这类错误由系统进行处理,程序本身无需捕获处理。 
比如:OOM(内存溢出错误)、VirtualMachineError(虚拟机错误)、StackOverflowError(堆栈溢出错误)等,一般发生这种情况,JVM会选择终止程序。

3.5Exception

3.5.1概述

Exception是所有异常类的父类。分为非RuntimeException和RuntimeException 。

  1. 非RuntimeException 
    指程序编译时需要捕获或处理的异常,如IOException、自定义异常等。属于checked异常。
  2. RuntimeException 
    指程序编译时不需要捕获或处理的异常,如:NullPointerException等。属于unchecked异常。一般是由程序员粗心导致的。如空指针异常、数组越界、类型转换异常等。

3.5.2 常用方法

public String getMessage():返回关于发生的异常详细信息,这个消息在Throwable类的构造函数中初始化了

public void printStackTrace():打印toString()结果和栈层次到System.err,即错误输出流

3.5.3 Try…catch…

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

try{
      高风险代码
  }catch(异常类型  变量){
          处理措施
  }catch(异常类型  变量){         可以写多个catch,但是从上到下,必须是从子类到父类或者
          处理措施                         没有继承
  }catch(异常类型  变量){
          处理措施
  }……

try{
  }catch(异常类型1|异常类型2|异常类型3……){     同时捕捉多个异常,并且多个异常类型直接用|                                                                       隔开,不能有继承关系如果有继承,则直接写父类即可
  }

3.5.4 Throws

抛出异常,该方式不会处理问题,一种提醒机制,如果知道如何解决,这有try解决问题,否则通过throws抛出问题

3.5.5Finally

finally:必须执行的语句块,不能单独使用,必须和try或者try…catch…一起使用
finally:只要一种不执行的情况,那就是System.exit(0);

finally中有return不执行,编译后把return去掉

 3.5.6不能有更宽泛的异常

方法覆写,不能比原方法有更宽泛的异常

 子类方法抛出的异常,不能大于父类异常,也就是小于等于父类异常均可
 要么和父类抛出的异常一致,要么是父类抛出异常类的子类,或者,直接不抛出异常

3.6 自定义异常类

3.6.1需求

完成用户登陆功能

传入用户信息,校验用户名和密码是否正确,如果正确则返回该用户所有信息,反之则提示错误信息

3.3.2 异常类

 1 继承一个已有的异常类     
 如果是运行时异常,则继承RuntimeException 反之则继承 Exception即可
一般情况下,我们写的 一定是编译时异常 

 2 公共的无参构造

 3 公共的有参构造,参数是错误信息,然后通过super 把错误信息传递到父类

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值