特色课堂笔记——Java基本数据类型

特色课堂笔记——Java基本数据类型

1、Java——强类型语言,共有8种基本的数据类型
2、Java基本数据类型分类:

数据类型
整型 byte、short、int、long
浮点型 float、double
布尔型 Boolean
字符型 char

3、整型与浮点型的存储需求以及取值范围

类型 字节长度 取值范围
int 4字节 -214748368~214748367
short 2字节 -32768~32767
long 8字节 -9223372036854775808~9223372036845775807
byte 1字节 -128~127
float 4字节 大约 ±3.40282347E+38F(6~7位有效数字)
double 8字节 大约±1.79769313486231570E+308(15位有效数字)

字节(B) 是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制既1Byte(字节)= 8bit(位)

4、不同数据类型的内存空间分配
int型(32bit):1位符号位,31位数值位

1 31

float型(32bit):1位符号位,8位指数位,23位数值位

1 8 23

Java的强数据类型本质上就是在内存中开辟不同的内存空间

5、浮点类型的精度丢失
浮点类型在计算机中的储存:
3
float存储需求是4字节(32位), 其中1位最高位是符号位,中间8位表示阶位,后32位表示值
double存储需求是8字节(64为),其中1位最高位是符号位,中间11位表示阶位,后52位表示值
产生浮点类型的精度丢失的原因: 精度丢失就是我们的位数不够表示我们整个数值了

6、为什么byte类型127+1是 (-128)
(1)计算机中对数据的二进制存储形式-------补码(下面讨讨论的皆为byte类型)
原码:45:00101101 -45:10101101
在最高位代表符号位区分正数还是负数,0代表正数,1代表负数
反码:45:00101101 -45:11010010
正数的原码和反码相同,负数的反码等于原码的符号位不变,其余各位按位取反
补码:45:00101101 -45:11010011
正数的原码反码和补码都形同,负数的补码等于在其反码基础上末尾+1
(2)为什么计算机设计反码?
因为计算机只有加法没有减法,在做减法运算的时候,可以认为是加上一个负数,这样可以减少计算机电路的复杂度。使用原码进行减法运算会出现问题,例如计算1-1,因为计算机有加法没有减法,所以计算机自动换算成1+(-1)1-1=1+(-1)=[00000001]原+[10000001]原=[10000010]原=-2 (符号位也参与运算)与实际结果不符。

猜你喜欢

转载自blog.csdn.net/weixin_53233197/article/details/121718907