Java 中 有 8 种基本数据类型,分别为:
6 种数字类型 (四个整数形,两个浮点型) : byte 、 short 、 int 、 long 、 float 、 double
1 种字符类型 : char
1 种布尔型 : boolean 。
byte :
byte 数据类型是 8 位、有符号的,以二进制补码表示的整数;
最小值是 -128 ( -2^7 ) ;
最大值是 127 ( 2^7-1 ) ;
默认值是 0 ;
byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四
分之一;
例子: byte a = 100 , byte b = -50 。
short :
short 数据类型是 16 位、有符号的以二进制补码表示的整数
最小值是 -32768 ( -2^15 ) ;
最大值是 32767 ( 2^15 - 1 ) ;
Short 数据类型也可以像 byte 那样节省空间。一个 short 变量是 int 型变量所占空间的二分之一;
默认值是 0 ;
例子: short s = 1000 , short r = -20000 。
int :
int 数据类型是 32 位、有符号的以二进制补码表示的整数;
最小值是 -2,147,483,648 ( -2^31 ) ;
最大值是 2,147,483,647 ( 2^31 - 1 ) ;
一般地整型变量默认为 int 类型;
默认值是 0 ;
微信搜索公众号: Java 专栏,获取最新面试手册 例子: int a = 100000, int b = -200000 。
long :
注意: Java 里使用 long 类型的数据一定要在数值后面加上 L ,否则将作为整型解析
long 数据类型是 64 位、有符号的以二进制补码表示的整数;
最小值是 -9,223,372,036,854,775,808 ( -2^63 ) ;
最大值是 9,223,372,036,854,775,807 ( 2^63 -1 ) ;
这种类型主要使用在需要比较大整数的系统上;
默认值是 0L ;
例子: long a = 100000L , Long b = -200000L 。
"L" 理论上不分大小写,但是若写成 "l" 容易与数字 "1" 混淆,不容易分辩。所以最好大写。
float :
float 数据类型是单精度、 32 位、符合 IEEE 754 标准的浮点数;
float 在储存大型浮点数组的时候可节省内存空间;
默认值是 0.0f ;
浮点数不能用来表示精确的值,如货币;
例子: float f1 = 234.5f 。
double :
double 数据类型是双精度、 64 位、符合 IEEE 754 标准的浮点数;
浮点数的默认类型为 double 类型;
double 类型同样不能表示精确的值,如货币;
默认值是 0.0d ;
例子: double d1 = 123.4 。
char :
char 类型是一个单一的 16 位 Unicode 字符;
最小值是 \u0000 (即为 0 );
最大值是 \uffff (即为 65535 );
char 数据类型可以储存任何字符;
例子: char letter = 'A'; ( 单引号 )
boolean :
boolean 数据类型表示一位的信息;
只有两个取值: true 和 false ;
这种类型只作为一种标志来记录 true/false 情况;
默认值是 false ;
例子: boolean one = true 。
这八种基本类型都有对应的包装类分别为: Byte 、 Short 、 Integer 、 Long 、 Float 、 Double 、
Character 、 Boolean
微信搜索公众号: Java 专栏,获取最新面试手册 类型名
称
字节、位数
最小值
最大值
默认
值
例子
byte 字
节
1 字节, 8 位
-128 (
-2^7 )
127 (
2^7-1 )
0
byte a =
100 , byte b
= -50
short 短
整型
2 字节, 16 位
-32768 (
-2^15 )
32767 (
2^15 - 1 )
0
short s =
1000 ,
short r =
-20000
int 整形
4 字节, 32 位
-2,147,483,648 (
-2^31 )
2,147,483,647 (
2^31 - 1 )
0
int a =
100000, int
b = -200000
lang 长
整型
8 字节, 64 位
-9,223,372,036,854,775,808 (
-2^63 )
9,223,372,036,854,775,807 (
2^63
-1 )
0L
long a =
100000L ,
Long b =
-200000L
double
双精度
8 字节, 64 位
double 类型同样不能表示精确的
值,如货币
0.0d
double d1 =
123.4
float 单
精度
4 字节, 32 位
在储存大型浮点数组的时候可节省内存
空间
不同统计精准的货币值
0.0f
float f1 =
234.5f
char 字
符
2 字节, 16 位
\u0000 (即为 0 )
\uffff (即为 65,535 )
可以
储存
任何
字符
char letter =
'A';
boolean
布尔
返回 true 和
false 两个值
这种类型只作为一种标志来记录
true/false 情况;
只有两个取值: true 和 false ;
false
boolean
one = true