今天是来到天亮的第18天,今天主要学习了常用API、异常机制,
Random类:
Random random=new Random();
nextInt( 最大值 - 最小值 + 1 ) + 最小值
为生成最小值-最大值之间的随机数。想生成随机字符先随机ASCII码值后传给char类型变量即可;
java.math.BigDecimal 和 BigInteger:
精度极高。
创建对象的时候 需要传递字符串的数字
BigInteger bi = new BigInteger("22");
BigDecimal v1 = new BigDecimal(20);
BigDecimal v2 = new BigDecimal(20);
BigDecimal decimal3=decimal.add(decimal2);
// 相减
// decimal3 =decimal.subtract(decimal2);
// 相乘
// decimal3 =decimal.multiply(decimal2);
// 相除
// decimal3 =decimal.divide(decimal2);
// 取余
decimal3 =decimal.remainder(decimal2);
数字格式化:
java.text.DecimalFormat :
创建数字化格式对象:
DecimalFormat decimalFormat=new DecimalFormat("###,###.00000")
Math类
全是静态方法,类名调用即可不需要导包
abs绝对值
System.out.println(Math.abs(-23));
// ceil 向上取整,小数大于0就 + 进位
System.out.println(Math.ceil(1.0000001));
// floor 向下取整 , 舍弃小数
System.out.println(Math.floor(1.99999));
// sqrt 平方根
System.out.println(Math.sqrt(4));
// cbrt 立方根
System.out.println(Math.cbrt(27));
// random 随机数 生成大于等于0.0 且小于 1.0
System.out.println(Math.random());
// rint 四舍五入
// 银行算法 , 四舍六入五取双 取偶数
System.out.println(Math.rint(2.5));
System.out.println(Math.rint(3.5));
// pow N次方
System.out.println(Math.pow(2, 3));
异常:
ava提供的识别错误的响应机制,可以使程序更加健壮,易于调试
//异常是错误的另一种说法
//java中有个专门模拟所有异常的类,Throwable是异常类族类
//如果程序出现异常,会终止程序生命周期的执行,所以需要处理
//try...catch.... : 解决异常,一般用在客户端(调用处)
//throws : 抛异常,一般用在类库端(服务端,被调用的地方)
//throw : 异常源,制作异常,创建异常对象。
if只能解决已知问题,不可预知不能解决。
可以写多个catch 捕捉多个异常,进行不同的处理
多个异常类型之间不能有继承关系,否则就必须是从子类到父类,否则会因为多态的原因把异常对象获取
throws 把异常抛出,是一种提醒,跟调用处说明,这里可能有异常可以抛出多个异常,多个之间 逗号隔开,谁调用的就抛给谁。
finally : 是必须执行的语句,只有一种情况不执行,System.exit(0);
finally 不能单独使用,必须和try一起或者 try..catch 一起使用。
finally里可以加关闭资源语句,防止资源未关闭。
1.7版本以后自动关闭资源语法:
try( 开启资源; ){
高风险代码;
}catch(异常类型 变量){
}
抛出异常类:
继承关系抛出异常类
抛出的异常类,要么和父类抛出的异常类一样
要么就是父类抛出的异常类的子类
要么 就不抛出异常。