Java的数值类型

144 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情


Java的整数类型和浮点数类型都是数值类型,在进行赋值的时候,会有一些表示方式

一、数值表示方式

1.进制数字表示

1.进制表示
二进制数:以0b或0B为前缀
八进制数:以0为前缀
十六进制数:以0x或0X为前缀

2.指数表示

1.指数表示
采用十进制表示指数,需要用大写或小写的e表示幂,例如e2表示10210^2
2.示例

       double a=3.36e2;//表示3.36x10^2
       double b=1.56e-2;//表示1.56x10^-2

二、数值类型相互转换

1.自动类型转换

1.含义
类型之间转换是自动的,不需要采取其他手段,总的原则是小范围数据类型可以自动转换为大范围数据类型

graph LR
A[byte] -->B[short]-->C[int]-->D[long]-->E[float]-->F[double]

2.转换方式
将小范围数据类型变量直接赋值给大范围数据类型变量

2.强制类型转换

1.转换方式
在变量或常量之前加上(目标类型)实现
2.示例

       int a=3;
       byte b=(byte)a;//将int类型强制转换为byte类型

3.强制类型转换与精度丢失
当大宽度数值转换为小宽度数值时,大宽度数值的高位被截掉,这样就会导致数据精度丢失