Java 是
-
种强类型语言
。
这就意味着必须为每一个变量声明一种类型
:
在
Java
中
,
-
共有
8
种基本类型
(
primitive
type
)
,
其中有
4
种整型
、
2
种浮点类型
、
1
种用于表示
Unicode
编码的字符 单元的字符类型 char
(
请参见论述
char
类型的章节
)
和
1
种用于表示真值的
boolean
类型
。
1.整型
整型用于表示没有小数部分的数值
,
它允许是负数
。
Java
提供了
4
种整型,如下表:
类型 | 存储需求 | 取值范围 |
int | 4字节 |
-
2
147
483
648
-
2
147
483
647
(
正好超过
20
亿
)
|
short | 2字节 |
-
32
768
-
32
767
|
long | 8字节 |
-
9
223
372
036
854
775
B
08 - 9 223 372
036
854 775
807
|
byte | 1字节 | -128~127 |
在通常情况下,
int
类型最常用
。
但如果表示星球上的居住人数
,
就需要使用
long
类型
了
。
byte
和
short
类型主要用于特定的应用场合
,
例如
,
底层的文件处理或者需要控制占用
存储空间量的大数组
。
2.浮点型
浮点类型用于表示有小数部分的数值
。
在
Java
中有两种浮点类型
,如下表:
类型 | 存储需求 | 取值范围 |
float | 4字节 |
大约
±
3.402
823
47
E
+
38
F
(
有效位数为
6
~
7
位
)
|
double | 8字节 |
大约
±
1.797
693
134
862
315
70
E
+
308
(
有效位数为
15
位)
|
double 表示这种类型的数值精度是
float
类型的两倍
(
有人称之为双精度数值
)
。
绝大部
分应用程序都采用
double
类型
。
在很多情况下
,
float
类型的精度很难满足需求
。
实际上
,
只
有很少的情况适合使用
float
类型
,
例如
,
需要单精度数据的库
,
或者需要存储大量数据
。
float
类型的数值有一个后缀
F
或
f
(
例如
,
3.14F)。没有后缀
F
的浮点数值
(
如
3.14
) 默认为
double
类型
。
当然
,
也可以在浮点数值后面添加后缀
D
或
d
(
例如
,
3.14
D
)
。
3.char类型
char 类型原本用于表示单个字符。不过,现在情况已经有所变化。 如今,有些 Unicode
字符可以用一个 char值描述
,
另外一些
Unicode
字符则需要两个
char
值
。
char 类型的字面量值要用单引号括起来
。
例如
:
W
是编码值为
65
所对应的字符常量
。
它与
"
A
"
不同
,
"
A
"
是包含一个字符
A
的字符串。
4.boolean类型
boolean (布尔)类型有两个值:
false 和 true, 用来判定逻辑条件 整型值和布尔值之间
不能进行相互转换
。