字符的八大类型?
一:基本类型
数值类型: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
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有