基本数据类型
数据类型
整型
- 整型用于表示没有小数部分的数值,允许是负数
类型 | 存储需求 | 取值范围 |
---|---|---|
int | 4字节 | -2147483648~2147483647(刚刚超过20亿) |
short | 2字节 | -32768~32767 |
long | 8字节 | -9223372036854775808~9223372036854775807 |
byte | 1字节 | -128~127 |
- 在通常情况下,int类型最常用
- 在Java中,整型的范围与运行Java代码的机器无关
- 长整型数值有一个后缀L或l
- 可以为数字字面量加下划线,编译器会去除这些下划线,例如1_000_000
- Java没有任何无符号(unsigned)形式的int、long、short或byte类型
浮点类型
- 浮点类型用于表示有小数部分的数值
类型 | 存储需求 | 取值范围 |
---|---|---|
float | 4字节 | 大约$\pm$3.40282347E+38F |
double | 8字节 | 大约$\pm$1.79769313486231570E+308 |
-
float类型的数值有一个后缀F或f
-
没有后缀F的浮点数值总是默认为double类型
-
用于表示溢出和出错情况的三个特殊的浮点数值
- 正无穷大 (
Double.INFINITY
),一个正整数除以0的结果为正无穷大 - 负无穷大 (
Double.NEGATIVE_INFINITY
), - NaN (
Double.NaN
),不是一个数字,计算0/0或者负数的平方根结果为NaN。注意,不能使用if (x == Double.NaN)
检测一个特定值是否等于Double.NaN
,所有“非数值”的值都认为是不相同的。可以用if (Double.isNaN(x))
判断
- 正无穷大 (
char类型
-
char类型原本用于表示单个字符,但如今,有些Unicode字符可以用一个char值描述,另外一些Unicode字符则需要两个char
-
char类型的字面量值要用单引号括起来,例如:
'A'
是编码值为65的字符常量 -
在Java中,char类型描述了UTF-16编码中的一个代码单元
转义序列
- 所有以下转义序列都可以出现在加引号的字符字面量或字符串中
- Unicode转义序列会在解析代码之前得到处理
转义序列 | 名称 | Unicode值 |
---|---|---|
\b | 退格 | \u0008 |
\t | 制表 | \u0009 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
\" | 双引号 | \u0022 |
\' | 单引号 | \u0027 |
\\ | 反斜杠 | \u005c |
boolean类型
- boolean (布尔) 类型有两个值:false和true
- 整型值和布尔值之间不能进行相互转换,例如:整数表达式
x = 0
不能转换为布尔值