不同进制整数的表示
- 十进制整数,如:99, -500, 0
- 八进制整数,要求以 0 开头,如:015
- 十六进制数,要求 0x 或 0X 开头,如:0x15
- 二进制:要求 0b 或者 0B 开头,如:0b11
数据类型的表示范围
下图是各种整数数据类型的表示范围:
这里解释一下这些表示范围是怎么算的:
以 byte
类型为例,在 Java 中,byte
类型的数据使用补码表示,其中最高位为符号位。所以可以表示的最大值为01111111,十进制为127,可以表示的最小值为10000000,二进制为-128。这样就可以求出它数据范围了。
浮点类型常量和变量
浮点数类型常量
浮点数类型常量有两种表示形式,分别是十进制表示法和科学记数法。
十进制表示法例如3.14、314.0、0.314。
科学记数法例如314e2、314E2、314E-2,E的大小写没有区分。
浮点数类型变量
float
类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float
类型的精度很难满足需求。而 double
表示这种类型的数值精度约是 float
类型的两倍,又被称作双精度类型,绝大部分应用程序都采用 double
类型。
float
类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为 double
类型。也可以在浮点数值后添加后缀D或者d, 以明确其为 double
类型,不过一般还是省略。
有效数字指的是==从左开始第一个不为0的数到最后一个数==。
一般要尽量避免浮点类型之间的比较,因为计算机运算都是通过二进制进行计算的,而很多小数无法准确地转换为二进制,所以在底层其实是不一样的。