Java--基本数据类型

在Java中,一共有8种基本类型,其中有4种整形,2种浮点类型,1种字符类型char(用于表示Unicode编码的代码单元)和一种表示真值bloolean类型。

1、整形

整形用于表示没有小数部分的数值,允许是负数。Java提供了4种整形。

Java--基本数据类型_第1张图片

在通常情况下,int 类型最常用。但如果想要表示整个地球的居住人口,就需要使用long类型了。byte和short类型主要用于特定的应用场合,例如,底层的文件处理或者存储空间很宝贵时的大数组。

长整型数值有一个后缀L或l (如40000000)。十六进制数值有一个前缀x或0X (如0xCAFE)。八进制有一一个前缀0,例如,010对应十进制中的8。很显然,八进制表示法比较容易混淆,所以建议最好不要使用八进制常数。

从Java 7开始,加上前缀0b或OB就可以写二进制数。例如,0b1001 就是9。另外,同样是从Java 7开始,还可以为数字字面量加下划线,如用1 000 000 (或01111 0100 0010 0100 0000 )表示100万。这些下划线只是为了让人更易读。Java 编译器会去除这些下划线。

2、浮点类型

浮点类型用于表示有小数部分的数值,在Java中有2种浮点类型。

Java--基本数据类型_第2张图片

double表示这种类型的数值精度是float类型的两倍(有人称之为双精度数值)。在很多情况下,float 类型的精度(6~ 7位有效数字)并不能满足需求。实际上,只有很少的情况适合使用float类型,例如,需要单精度数的库,或者需要存储大量数据时。

float类型的数值有-一个后缀F或f (例如,3.14F)。 没有后缀F的浮点数值(如3.14)总是默认为double 类型。当然,也可以在浮点数值后面添加后缀D或d (例如,3.14D)。

所有的浮点数值计算都遵循IEEE 754规范。具体来说,下 面是用于表示溢出和出错情况 的三个特殊的浮点数值:

  • 正无穷大

  • 负无穷大

  • NaN (不是-一个数字)

例如,一个正整数除以0的结果为正无穷大。计算0/0或者负数的平方根结果为NaN。

注释: 常量Double.POSITIVE INFINITY、Double.NEGATIVE INFINITY和Double.NaN (以及相应的Float类型的常量)分别表示这三个特殊的值,但在实际应用中很少遇到。

警告:浮点数值不适用于无法接受舍入误差的金融计算。例如,命令System. out .println(2.0-1.1)将打印出0.999999999999,而不是人们期望的0.9。这种舍入误差的主要原因是浮点数值采用二进制系统表示,而在二进制系统中无法精确地表示分数1/10。这就好像十进制无法精确地表示分数1/3一样。如果在数值计算中不允许有任何舍入误!差,就应该使用BigDecimal类。

3、char类型

char类型原本用于表示单个字符。不过,现在情况已经有所变化。如今,有些Unicode字符可以用一个char值描述,另外一些Unicode字符则需要两个char 值。

char类型的字面量值要用单引号括起来。例如: 'A' 是编码值为65的字符常量。它与"A"不同,"A" 是包含-一个字符A的字符串。char类型的值可以表示为十六进制值,其范围从\u0000到\uFFFF。例如,\u2122表示商标符号(TM)\u03C0 表示希腊字母π

除了转义序列\u之外,还有一些用于表示特殊字符的转义序列,请参看表3-3。所有这些转义序列都可以出现在加引号的字符字面量或字符串中。例如,'\u2122' 或"Hello\n"。 转义 序列\u还可以出现在加引号的字符常量或字符串之外(而其他所有转义序列不可以)。例如:

public static void main(String\u005B\u005D args)

就完全符合语法规则,\u005B 和\u005D分别是[]的编码。

Java--基本数据类型_第3张图片

4、boolean类型

boolean (布尔)类型有两个值: false 和true,用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。

你可能感兴趣的:(Java基础,java,python,开发语言)