更大范围的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条)