Random
例:
创建随机数生成器
Random random = new Random();
从0~9中随机生成一次
int i = random.nextInt(10);
打印
System.out.println(i);
DecimalFormat
java.text.DecimalFormat : 数字格式化
-
# 任意数字 0-9单个数字
-
, 千分位
-
. 小数点
-
0 补位
例:(阶乘)
public static BigDecimal m2(int n) {
if (n <= 1) {
return new BigDecimal(1);
}
return new BigDecimal(n).multiply(m2(n - 1));
}
Math
Math 提供了科学计算和基本的数字操作方法
全都是静态方法,类名调用即可,并且Math在java.lang下 不需要导包
// abs 绝对值
System.out.println(Math.abs(-23));
// ceil 向上取整,小数大于0 就 + 进位
System.out.println(Math.ceil(1.0000001));
// floor 向下取整 , 舍弃小数
System.out.println(Math.floor(1.99999));
// 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(4));
// 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));
. 异常机制
异常 :
是java提供的识别错误的响应机制,可以使程序更加健壮 易于调试
异常是错误的另外一种说法
java中 有个专门模拟所有异常的类,Throwable,是异常类的祖类,所有的异常类 都是它的子类
如果程序 出现了异常,会终止程序生命周期执行,所以需要进行处理,
异常处理形式
try…catch… : 解决异常,一般用在客户端(调用处)
throws : 抛异常,一般用在类库端(服务端,被调用的地方)
throw : 异常源,制作异常,创建异常对象
Error
Exception
概述
Exception是所有异常类的父类。分为非RuntimeException和RuntimeException 。
非RuntimeException
指程序编译时需要捕获或处理的异常,如IOException、自定义异常等。属于checked异常。
RuntimeException
指程序编译时不需要捕获或处理的异常,如:NullPointerException等。属于unchecked异常。一般是由程序员粗心导致的。如空指针异常、数组越界、类型转换异常等
常用方法
throws
修饰符 返回类型 方法名(参数列表) throws 异常类名列表
子类继承父类,并重写父类的方法时,若方法中抛出异常,则要求:子类方法抛出异常只能是父类方法抛出的异常的同类或子类
throw
throw的作用是抛出异常,抛出一个异常类的实例化对象。
这种抛出异常的方式一般在满足某条件时主动抛出,即满足用户定义的逻辑错误发生时执行。
含有throw语句的方法,或者调用其他类的有异常抛出的方法时,必须在定义方法时,在方法头中增加throws异常类名列表。
使用throws关键字声明的方法表示此方法不处理异常,而交给方法调用处进行处理。
自定义异常
自定义异常类 :
1 继承一个已有的异常类
一般我们继承Exception即可
如果是运行时异常,则继续RuntimeException
2 公共的无参构造
3 有参构造,传入String,是错误信息
public class Test extends Exception {
public Test() {
}
public Test(String msg) {
super(msg);
}
}