Java基础数据类型详解

在Java中的数据类型一共有8种,大致分为整型(4个)浮点型(2个)布尔(1)字符(1个)

分类 类型 默认值 占用字节 范围
整型 byte 0 1 = 8 bit -2^7 - 2^7
short 0 2 = 16 bit -2^15 - 2^15-1
int 0 4 = 32 bit -2^31 - 2^31-1
long 0L 8 = 64 bit -2^63 - 2^63-1
浮点型 float 0.0 4 = 32 bit -2^31 - 2^31-1 
double 0.0 8 = 64 bit -2^63 - 2^63-1 
字符 char 2 = 8 bit 0-2^16-1
布尔 boolean false 1 = 8 bit true,false

说明:

bit : 位,计算机存储数据的最小单元,二进制数中的一个位数。

byte : 字节,计算机存储数据的基本单位,一个字节由8位二进制数组成。通常一个汉字占两个字节。所以一个char类型的字符是可以存储汉字的。

思考:为什么范围都是从( -2^(所占位数-1) 至  2^(所占位数-1) -1 )?

答案:因为计算机存储数据是以二进制数据的补码形式存储。补码表示:正数的补码与原码相同,负数的补码则符号位是1,数值部分按位取反后再在末位(即最低位)+ 1;

举个例子:

十进制:+7 , 二进制原码:0000 0111   ,反码:0000 0111   补码:0000 0111

十进制:-7 , 二进制原码:1000 0111   ,反码: 1111 1000   补码:1111 1001(符合位1,数值按位取反,最低位加1)

注:二进制,十进制,十六进制,原码,反码,补码等,属于微机原理里面的基础详细介绍可查看

二进制等数制详解

原文地址:https://www.cnblogs.com/mjoker0416/p/14141607.html