Java基本数据类型
一、 基本数据类型大小
不同于C/C++,Java是平台无关的,每种基本数据类型的大小都是固定的。
基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
---|---|---|---|---|
boolean | - | - | - | Boolean |
char | 16bit | Unicode 0 | Unicode 216-1 | Character |
byte | 8bit | -128 | +127 | Byte |
short | 16bit | -215 | +215-1 | Short |
int | 32bit | -231 | +231-1 | Integer |
long | 64bit | -263 | +263-1 | Long |
float | 32bit | -3.0403E38 | +3.403E38 | Float |
double | 64bit | -1.798E308 | +1.798E308 | Double |
注:
- 所有数值类型都为有符号类型数据
- boolean型变量只有"true"和"false"两种取值,不可以像C语言那样使用非0或0表示ture或false
- byte、short、int、long 都为整数类型
- 浮点型常量默认是double类型
- 为float类型的变量赋值时需要添加’
f
’或’F
’后缀 - float可以精确到7位有效数字
- double可以精确到14位有效数字
二、 基本数据类型默认值
基本类型 | 默认值 |
---|---|
boolean | false |
char | ‘\u0000’(null) |
byte | (byte)0 |
short | (short)0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
注:
- 只有基本变量是类的成员变量时才会有默认值,若是在某个函数中定义的局部变量不会有默认值
三、笔/面试题目
-
问 :
System.*out*.println((double) 2);
的输出结果?答:整数2被转换为浮点数,因此输出结果为 2.0。
-
问:最小的整型变量类型是哪种?
答:byte(byte这个类型名可能会让人误认为它不是整型变量)。
-
问:0.1314是哪种数据类型?
答:浮点数默认是double类型,添加后缀’f’或’F’可以明确告诉编译器使用 float 类型,因此0.1314是double类型。
-
问:
float a = 1.234;
是否正确?答:错误。为float类型的变量赋值时需要添加’
f
’或’F
’后缀,否则编译器会报错,因此正确的语句应该是float a = 1.234f;
或float a = 1.234F;
。