☕ Java基础:(2)基本数据类型
数据类型
引用数据类型的大小统一为4个字节,记录的是其引用对象的地址!
整型变量/常量
整型的范围与运行Java代码的机器无关,这正是Java程序具有很强移植能力的原因之一。
类型 | 占用存储空间 | 表数范围 |
---|---|---|
byte |
1字节 | -\(2^7\) ~ \(2^7\)-1(-128~127) |
short |
2字节 | -\(2^15\) ~ \(2^{15}\)-1(-32768~32767) |
int |
4字节 | -\(2^{31}\) ~ \(2^{31}\)-1 (-2147483648~2147483647)约21亿 |
long |
8字节 | -\(2^{63}\) ~ \(2^{63}\)-1 |
声明long型常量可以后加‘ l ’或‘ L ’:
long a = 55555555; //编译成功,在int表示的范围内(21亿内)。
long b = 55555555555;//不加L编译错误,已经超过int表示的范围。
long c = 55555555555L; // √
浮点型
类型 | 占用存储空间 | 表数范围 |
---|---|---|
float |
4字节 | -3.403E38~3.403E38 |
double |
8字节 | -1.798E308~1.798E308 |
- 默认是double类型
- 浮点数存在舍入误差,数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需要使用
BigDecimal
类。 - 避免比较中使用浮点数,需要比较请使用
BigDecimal
类
字符型
字符型在内存中占2个字节,使用单引号来表示字符常量。
char
类型用来表示在Unicode编码表中的字符,可允许有65536个字符。
char eChar = 'a';
char cChar ='中';
char c = '\u0061'; // 从’\u0000’到’\uFFFF’之间的十六进制值来表示(前缀为u表示Unicode)
boolean类型
boolean
类型有两个常量值,true
和false
,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false.
本文来自博客园,作者:micromatrix,转载请注明原文链接:https://www.cnblogs.com/cenjw/p/15937463.html
posted on 2022-02-25 19:03 micromatrix 阅读(31) 评论(0) 编辑 收藏 举报