在 Java 中,一共有 8 种基本类型( primitive type ), 其中有 4 种整型、2 种浮点类型、1 种用于表示 Unicode 编码的字符单元的字符类型 char 和 1 种用于表示真值的 boolean 类型。
1、整数
整型用于表示没有小数部分的数值,它允许是负数。Java 提供了 4 种整型。
在通常情况下,int 类型最常用。但如果表示星球上的居住人数,就需要使用 long 类型了。byte 和 short 类型主要用于特定的应用场合,例如,底层的文件处理或者需要控制占用存储空间量的大数组。
在 Java 中,整型的范围与运行 Java 代码的机器无关。这就解决了软件从一个平台移植到另一个平台,或者在同一个平台中的不同操作系统之间进行移植给程序员带来的诸多问题。这也体现了Java
体系结构中立和
可移植性。
2、浮点类型
浮点类型用于表示有小数部分的数值。在 Java 中有两种浮点类型。
double 表示这种类型的数值精度是 float 类型的两倍(有人称之为双精度数值)。绝大部分应用程序都采用 double 类型。
所有的浮点数值计算都遵循 IEEE 754 规范。具体来说,下面是用于表示溢出和出错情况的三个特殊的浮点数值:
- 正无穷大 Double.POSITIVE_INFINITY
- 负无穷大 Double.NEGATIVEJNFINITY
- isNaN(不是一个数字) Double.isNaN
if (Double.isNaN(x)) // check whether x is "not a number",判断数字是否不是个数字。
浮点数值不适用于无法接受舍入误差的金融计算中。如果在数值计算中不允许有任何舍入误差,就应该使用 BigDecima。
3、char类型
char 类型原本用于表示单个字符。不过,现在情况已经有所变化。如今,有些 Unicode 字符可以用一个 char 值描述,另外一些 Unicode 字符则需要两个 char 值。char 类型的字面量值要用单引号括起来。
Unicode 转义序列会在解析代码之前得到处理。
一定要当心注释中的 \u:
// \u00A0 is a newline 会产生一个语法错误,因为读程序时 \u00A0 会替换为一个换行符类似地。
// Look inside c:\users 也会产生一个语法错误,因为 \u 后面并未跟着 4 个十六进制数。
强烈建议不要在程序中使用 char 类型,除非确实需要处理 UTF-16 代码单元。
4、boolean类型
boolean (布尔)类型有两个值:false 和 true, 用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。