背景:入门级的知识,你认为简单到不能再简单,看完后让你认为不再简单。
1 基本类型分类
我们知道在JAVA中一共有八种基本数据类型,他们分别是 byte、short、int、long、float、double、char、boolean 。
主要分为四类:
1 整型有byte、short、int、long
2 浮点型有float,double
3 字符型 char
4 真假型 boolean
另外在计算机存储中有几个术语需要了解:
bit(位):表示信息的最小单位,是二进制数的一位包含的信息;
byte(字节):用来计量存储容量的一种计量单位;
1 byte = 8 bit(1个字节等于8位);
2 基本类型范围
数据类型 | 字节数 | 二进制位数 | 范围 | 规律 |
---|---|---|---|---|
byte | 1 | 8 | -128~127 | -27~27-1 |
short | 2 | 16 | -32768~32767 | -215~215-1 |
int | 4 | 32 | -2147483648~2147483647 | -231~231-1 |
long | 8 | 64 | -9223372036854775808 ~ 9223372036854775807 | -263~263-1 |
float | 4 | 32 | 1.4E-45~3.4028235E38 | -2^128 ~ +2^127 |
double | 8 | 64 | 4.9E-324~1.7976931348623157E308 | -2^1024 ~ +2^1023 |
char | 2 | 16 | 0~65535 | 0~216-1 |
boolean | 1 | 8 | true或false | true或false |
问题来了:
float是用4个字节32位来表示,但是范围为什么比int ,long 还要大那?更别说8个字节64位的double了?
答案: 浮点数的存储方式和整数的方式不同。详情请查看,为什么浮点数比int,long表示的范围要大? https://blog.csdn.net/sky1988818/article/details/86539119