java8⃣️种基本数据类型:(占位)
整型:byte short int long 8 16 32 64
浮点型:float double 32 64
布尔型:boolean 32
字符型:char 16
byte可以转换成short,int
int可以转换成long和double,float也能转换成double
int可以转换成float类型,但会造成精度丢失,因为都是32位,但是int有一位代表符号位
char能转换成int,int不能转换成char
:简单来说就是占位少的能转换成占位多的。
强制转换:short a=1; byte b=(byte)a; //在a之前加一个(数值类型)
#java的强数据类型本质上就是在内存中开辟不同形式的内存空间,由于类型开辟形式不同,容易引起转换错误的问题。
如何处理精度丢失: public static void main (String[] args){
BigDecimal b1 = new BigDecimal(Float.toString(1.2f));
BigDecimal b1 = new BigDecimal(Float.toString(1));
float s = b1.subtract(b2).floatValue();
System.out.println (“s- - - -“ + s);