一、java基本数据类型 — 四类八种
- 整型:byte、short、int、long
- 浮点型:float、double
- 布尔型:boolean
- 字符型:char
数据类型名称 | 占用字节 | 默认值 | 封装类 | 取值范围 |
---|---|---|---|---|
byte | 1 | 0 | Byte | -2^7 ~2^7-1(-128-127) |
short | 2 | 0 | Short | -2^15 ~2^15-1 |
int | 4 | 0 | Integer | -2^31 ~2^31-1(刚刚超过20亿) |
long | 8 | 0.0L | Long | -2^63 ~2^63-1 |
float | 4 | 0.0F | Float | ±3.402 823 47E+38F(有效位数:6~7位) |
double | 8 | 0.0 | Double | ±1.797 693 134 862 315 70E+308(有效位数:15位) |
boolean | 1 | false | Boolean | false、true |
char | 2 | \u000(空格) | Character | 单个字符 |
二、数据类型的详细介绍
整型(byte、short、int、long):
- 在java中,整数的范围与运行java代码的机器无关。
- C和C++程序会针对不同的处理器选择最高效的整型。
- 在C语言中,int的大小是取决于环境的,假如是32位的计算机,那么int类型的变量,占4个字节;16位的计算机中,int占2个字节;64位的计算机中,int类型的变量占8个字节。
但是在java中,无论是多少位的计算机,int类型的变量只占4个字节。同样java中其他的数据类型也不会因为计算机系统的改变,数据类型的大小改变。 - 加上前缀ob或oB就可以写二进制数。如:ob1001=9
- 为数字加下滑线,让人更加易读:1_000_000=1000000
浮点型(float、double):
- double的精度是float的两倍。
- 所有浮点数都遵循IEEE754规范。
- 三个特殊的浮点数值
正无穷大:Double.POSITIVE_INFINITY = Infinity
负无穷大:Double.NEGATIVE_INFINITY = -Infinity
NaN(不是一个数字):Double.NaN = NaN - 浮点数的数据不能完全精确,计算结果有时可能小数点最后几位出现浮动(舍入误差),这是正常的。
- 浮点数的比较
不能用等号比较浮点数。
字符型(char):
- char类型是一个单一的 16 位 Unicode 字符;
- 最小值是 \u0000(即为0);
- 最大值是 \uffff(即为65,535);
- char 数据类型可以储存任何字符;
- 例子:char letter = ‘A’;
转译序列 | 名称 | Unicode值 |
---|---|---|
\b | 退格 | \u0008 |
\t | 制表符 | \u0009 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
" | 双引号 | \u00022 |
’ | 单引号 | \u00027 |
\ | 反斜杠 | \u0005c |
布尔类型(boolean):
- 在 java 中 boolean 只有两个值:true、false
- 非0即为真这个论断在java中不成立
- 在java中型和布尔类型是不可以互相转换的