Clay 的技术空间

用进废退 | 艺不压身

BigDecimal 的概述

Java 在 java.math 包中提供了 API 类 BigDecimal,用于对超过 16 位有效位的数进行精确的运算。双精度浮点型变量 double 可以处理 16 位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。在一般情况下,对于那些不需要准确计算精度的数字,可以直接使用 Float 和 Double 处理,但是 Double.valueOf(String)Float.valueOf(String) 会丢失精度。所以在开发中,如果需要高精度的计算结果,则必须使用 BigDecimal 类来操作数据。BigDecimal 所创建的是对象,因此不能使用传统的 -×÷ 等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是 BigDecimal 的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。

阅读全文 »

错误与异常

在 Java 中所有的错误 (Error) 和异常 (Exception) 都继承了同一个父类 Throwable,它们的关系如下:

  • Error (错误):是指程序无法处理的错误,表示应用程序运行时遇到比较严重的问题。大多数错误与开发者执行的操作无关,而表示在代码运行时 JVM 出现了的问题。
  • Exception (异常):是指在程序运行时由于程序处理逻辑上的错误而导致程序中断的一种指令流。通俗地说,就是代码存在逻辑错误(Bug)。
  • 上述两者的区别:错误无法被处理,异常可以被程序自身捕获并处理
阅读全文 »