数据类型
整型
类型 | 存储需求 | 取值范围 |
---|---|---|
byte | 1字节 | -128 ~ 127 |
short | 2字节 | -32 768 ~ 32 767 |
int | 4字节 | -2 147 483 648 ~ 2 147 483 647 |
long | 8字节 | -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807 |
使用long数据类型,后缀加L或l(100L)
// 未超出int范围后缀可省略,但建议Long类型都加后缀L
long a = 21474836472; // 超过 int 范围,报错
long a = 21474836472L; // 正确
浮点类型
类型 | 存储需求 | 取值范围 |
---|---|---|
float | 4字节 | 大约 ± 3.402 823 47E+38F(有效位数6~7位) |
double | 8字节 | 大约 ±1.797 693 134 862 315 70E+308(有效位数15位) |
浮点数默认是double类型,使用float数据类型,后缀加F或f
2.0 - 1.1 = 0.8999999999...
// 不是预期的0.9,因为二进制无法精确表示1/10
正无穷大(Infinity): 当一个正浮点数除以0,或正整数除以0.0
负无穷大(Infinity): 当一个负浮点数除以0,或负整数除以0.0
NaN(Not a Number)当0.0除以0,或0除以0.0,或负数的平方根(所有“非数值”的值都认为是不相等的)
char类型
char x = 'A' // 用单引号,表示'A'是编码值为65的 字符常量
char 类型的值可以用十六进制表示,在\u后面跟4个16进制数,范围是\u0000 ~ \uFFFF
特殊字符转义序列
转义序列 | 名称 | Unicode值 |
---|---|---|
\b | 退格 | \u0008 |
\t | 制表 | \u0009 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
\" | 双引号 | \u0022 |
\’ | 单引号 | \u0027 |
\\ | 反斜杠 | \u005c |
所有转义序列都可出现在 加引号的字符字面量 或 字符串中,\u可以在之外
boolean类型
false 和 true