一:基本类型

数值类型:byte(8位)、short(16位)、int(32位)、long(64位)取值范围为-2的n-2次方~2的n-2次方-1(n为位数,去掉一个符号位)

浮点类型:float(32位,单精度)、double(64位,双精度)      JAVA中将小数默认为double类型,若要定义float需在数据后面用f声明

字符类型:char(16位,unicode字符)

布尔类型:boolean(8位,true/false)

 

二:数据类型间的转换

基本的数据类型由低级到高级分别为:(byte、short、char)——int——long——float——double

1)低级到高级的自动类型转换;

2)高级到低级的强制类型转换(会导致溢出或丢失精度);

3)基本类型向类类型转换;

4)基本类型向字符串的转换;X.toString       X+""   String.valueOf(X)

5)类类型向字符串转换;

 

三 :基本数据类型之间的转换规则 

 

1)只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型;

2)只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型;

3)只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型;

4)两个操作数(包括byte、short、int、char)都将会被转换成int类型,并且结果也是int类型。

 

四:二进制小数的表示

在计算机底层,小数点之后的小数也是用二进制表示的,如:1/2,1/4,1/8等,所以无法用二进制表示那些double,float数

由此引出了BigDecimal这个类

构造器可以public BigDecimal(double val)或public BigDecimal(String val)通常才用这种

所以对于double类型的,我们可以这样

BigDecimal a=new BigDecimal(Double.toString(4.5));

BigDecimal a=new BigDecimal(Double.toString(1.5));

记得两个数都要转成BigDecimal对象,然后进行加减乘除运算

a.add(b)  a加b          b.add(a)   b加a

a.add(b)  a除以b      b.add(a)   b除以a

a.substract(b)a减b   b.substract(a) b减a

a.multiply(b)a乘以b   b.multiply(a) b乘以a

 


 

 

posted on 2019-02-25 04:37  蓝绿绿  阅读(1732)  评论(0编辑  收藏  举报