Java 八种基本数据类型总结

来源:互联网 发布:云科数据云一体机 编辑:程序博客网 时间:2024/06/05 23:08

# Java 八种基本数据类型总结

基本数据类型:byte short int long, double float char boolean

基本数据类型 名称 类型 占用空间 取值范围 byte 字节 有符号整型 1字节 -2^7(-128) <= byte <= 2^7-1(127) short 短整数 有符号整型 2字节 -2^15 <= short <= 2^15-1 int 整数 有符号整型 4字节 -2^31 <= int <= 2^31-1 long 长整数 有符号整型 8字节 -2^63 <= long <= 2^63-1 double 双精度浮点数 浮点型 8字节 -2^1024 <= double <= 2^1024 float 浮点数 浮点型 4字节 -2^128 <= float <= 2^128 char 字符 无符号整型 2字节 2^0 <= char <= 2^15 boolean 布尔 布尔型 1字节 true or false

基本数据类型注意事项:

1、未带有字符后缀标识的整数默认为int类型;未带有字符后缀标识的浮点数默认为double类型;

2、如果一个整数的值超出了int类型能够表示的范围,则必须增加后缀“L”(不区分大小写,建议用大写,因为小写的L与阿拉伯数字1很容易混淆),表示为long型;

3、带有“F”(不区分大小写)后缀的整数和浮点数都是float类型的;带有“D”(不区分大小写)后缀的整数和浮点数都是double类型的;

4、编译器会在编译期对byte、short、int、long、float、double、char型变量的值进行检查,如果超出了它们的取值范围就会报错;

5、int型值可以赋给所有数值类型的变量;

long型值可以赋给long、float、double类型的变量;

float型值可以赋给float、double类型的变量;

double型值只能赋给double类型变量。


关于取值范围:

java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数。

正数补码为其本身;
负数补码为其绝对值各位取反加1。

例如:
+21,其二进制表示形式是00010101,则其补码同样为00010101;
-21,按照概念其绝对值为00010101,各位取反为11101010,再加1为11101011,即-21的二进制表示形式为11101011。

byte的取值范围计算过程:

1、byte为一字节8位,最高位是符号位,即最大值是01111111,因正数的补码是其本身,即此正数为01111111,十进制表示形式为127;

2、最大正数是01111111,那么最小负是10000000(最大的负数是11111111,即-1);

3、10000000是最小负数的补码表示形式,我们把补码计算步骤倒过来 就即可,10000000减1得01111111然后取反10000000。
因为负数的补码是其绝对值取反,即10000000为最小负数的绝对值,而10000000的十进制表示是128,所以最小负数是-128;

4、由此可以得出byte的取值范围是-128到+127。

ps:各个类型取值范围的计算方法与此大致相同,感兴趣的同学可以自己试着计算。