本人小白一枚,欢迎大家一起讨论学习,如有错误,还望大家指教。
java数据类型
在Java中一共有八种数据类型与三种引用类型(其中String属于类)
类型 | 默认值 | 占用存储空间(字节) | 取值范围 |
---|---|---|---|
byte | 0 | 1 | -128~127((-2的7次方到2的7次方-1)) |
short | 0 | 2 | -32768~32767(-2的15次方到2的15次方-1) |
int | 0 | 4 | -2147483648~2147483647(-2的31次方到2的31次方-1) |
long | 0 | 8 | -9223372036854774808~9223372036854774807(-2的63次方到2的63次方-1) |
float | 0.0 | 4 | 3.402823e+38 ~ 1.401298e-45 |
double | 0.0 | 8 | 1.797693e+308~ 4.9000000e-324 |
char | ‘\u0000’ | 2 | \u0000~\uFFFF |
boolean | false | 1、4 | true、false |
自动转换时小范围到大范围。如上图所示。
在强制类型转换时,要注意:
1. 强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。
2. byte/short/char这三种类型都可以发生数学运算,例如加法“+”.
3. byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。
4. boolean类型不能发生数据类型转换
当一个大范围强制转换为一个小范围时,会造成数据溢出。