
更大范围的int:
public static void main(String[] args) {
// 必须传入字符串
BigInteger v1 = new BigInteger("123123");
// 传入数字
BigDecimal v2 = new BigDecimal(20);
BigDecimal v3 = new BigDecimal(20);
// +
BigDecimal result = v3.add(v2);
// -
result = v2.subtract(v3);
//
result = v2.multiply(v3);
// /
result = v2.divide(v3);
// %
result = v2.remainder(v3);
}
Math类:
public static void main(String[] args) {
// 取绝对值
System.out.println(Math.abs(-20000.332));
// 向上取整
System.out.println(Math.ceil(20000.332));
// 向下取整
System.out.println(Math.floor(20000.332));
// 返回最大值
System.out.println(Math.max(4555, 9356));
// 返回最小值
System.out.println(Math.min(6846, 6854684));
// 平方
System.out.println(Math.sqrt(1616));
// 立方
System.out.println(Math.cbrt(68468));
// 随机数:返回0(包括)到1的随机数
System.out.println(Math.random());
// 四舍五入
System.out.println(Math.rint(6.5));
// n的m次幂
System.out.println(Math.pow(3, 5));
}
异常机制
异常其实就是错误的一种说法,在java中有一个专门模拟所有异常和错误的类Thrpwable,
|是所有异常类的父类
try... catch... :处理异常,一般用于客户端
throws:抛出异常,一般用于服务端
throw:异常源点
finally:必须执行语句
throws抛出异常,该方式并不会处理理解一种提醒机制,告诉调用人员,这里可能会有错误
能解决就catch,不能就throws.上家
抛出多个用“,”隔开
try... catch... :处理异常,一般用于客户端
try{
高风险代码出错:运行catch, 不出错,不运行
}catch (异常类型变量) {
处理方法
}catch(异常类型变量) {
处理方法
}.....从上往下,必须是子类到父类,或者没有继承关系
}catch(异常 类型1|异常类型2|异常类型3..) {
同时捕捉多个异常,并且多个异常类型直接用|隔开,并且不能有继承关系
如果有继承关系则直接写父类即可
try(开启资源语句;) {
高风险代码;
}catch(异常类型变量) {
}自动关闭资源
在System.exit();虚拟机关闭后不能执行,不能单独使用,必须和try或者try..catch..一起使用
finally:必须执行语句
public static void main(String[] args) {
int result = m1();
System.out.println(result);
// 作用域问题
FileInputStream fis = null;
// 文件
try {
// 找文件
fis = new FileInputStream("D://123.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
// 判断是否开着
if (fis != null) {
fis.close();
}
} catch (Exception e2) {
}
}
}
public static int m1() {
int i = 10;
try {
// 因为finally中有return,所以这里的return不执行,但是i+ +执行,编译之后会把return去掉
return i++;
} catch (Exception e) {
} finally {
return i;
}
}
throw
自定义异常类
1继承一个已有异常类:运行时异常继承Runt imeException 反之继承Exception(- 般情况下)
2无参构造
3有参构造:参数是错误信息,通过super把错误信息传到父类
// 相当于自己给自己弄了个异常的类来自己用,符合自己需求,是异常类的子类。
public class UserException extends Exception {
// 无参
public UserException() {
}
// 有参:把需要所产生的错误问题的原因,接收回来,super调用父类有参构造
// 用throw新建异常对象,错误信息是构造方法参数值,供getMassage调用
public UserException(String str) {
super(str);
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)