主要掌握Java编程语言在商业运算中的数据类型BigDecimal
为什么要引出BigDecimal类型?计算机的二进制无法精准表示浮点数。
介绍BigDecimal类型以及使用使用格式:
数据类型载入赋值声明:举例
BigDecimal be=new Bigdecimal("0.2");
如果用实际的默认double类型传入BigDecimal作为参数,其实会得到一个不精确的数据。
所以建议使用传入字符串String类型的数据。
常用方法:(java13)
加 add
减 subtract
乘 multiply
除 divide
注意除法有三个参数:
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)
分别表示除数、小数点后保留位数、舍入模式。
四舍五入的模式为:ROUND_UP 、ROUND_DOWN、ROUND_CEILING、ROUND_FLOOR
操作时也可以采用BigDecimal类的setScale方法来设置四舍五入位数。
该方法参数:第一个是小数点位数,第二个是RoundingMode.HALF_UP
RoundingMode也是在java.math包下面。
数据比较:
主要使用compareTo方法
例如be1.compareTo(be2),会返回一个结果
结果 -1 表示be1 结果 0 表示be1=be2 结果 1 表示be1>be2 char b='u0023'; u表示用十六进制的Unicode表示字符 注意:字符char这个类型,我们需要是用符号单引号‘ ’,并且如果没有表示Unicode类型,假设我们只表示一个普通字符,那么我们只能输入一个字符,输多会报错。(java14) (java15) 单引号 ' 双引号 " 反斜杠 (两个表一个) 回车r 换行n 走纸换页f 制表符(一个制表符代表四个空格) t 退格b 理解:只有两种情况的数据类型,是(真)true或者false(假)。 类:Boolean 数据类型:boolean 注意:java语言中的布尔类型,要区分c/c++,不能直接把true当成1,false当成0。 布尔类型这个数据类型往往也是我们最终判断后得到的类型 1>0 结果true 1<0 结果false 注意:往往结合到if语句中,也会在赋值的时候使用表达式。 普通的变量声明布尔类型。 声明以及赋值:boolean b1=false; 注意:我们要声明变量,必须要对其进行初始化一个值。 表示方法: 条件判断 (结果只true或者false )? 条件为true的结果 :条件为false的结果 问题:我们可否把true转为1,把false转为0,以符合使用c/c++的习惯 我们可以自己通过三目运算符来达到我们的目标 这样就可以实现布尔类型与数值类型的转换。 如果使用(int)b2强制转换会报错 尝试强制类型转换;是会报错的。不兼容类型:boolean无法转换为int。应使用三目运算符巧妙转化。 boolean b2=true; System.out.print(b2?1:0); 输出结果为1 Boolean的compare方法来进行转化判断。 这个方法有两个参数,对两个参数进行比较,如果相等,那么结果为0,如果不等,结果为-1。



