JAVA 数据类型概述
java 是一种强类型语言,在编程中,这就意味着每声明一个变量就需要为其指定一种类型,java 中存在8种基本数据类型,其中4种整型,2种浮点型,1种用于表示Unicode编码的字符单元的字符类型char,1种用于表示真值的boolean类型。
java中基本类型介绍
整型
整形用于表示没有小数部分的数值,它允许是负数
类型 | 存储需求 | 取值范围 |
---|---|---|
int | 4字节 | -2^31 -1 ~ 2^31-1 |
short | 2字节 | -2^15-1 ~ 2^15-1 |
long | 8字节 | -2^62-1 ~ 2^62-1 |
byte | 1字节 | -2^7 -1 ~ 2^7-1 |
例:
int num = 100;
int num = 100_000;
浮点类型
浮点型用于表示小数部分的数值。
类型 | 存储需求 | 取值范围 |
---|---|---|
float | 4字节 | -2^31 -1 ~ 2^31-1 |
double | 8字节 | -2^63-1 ~ 2^63-1 |
思考:java中 long 和double都是64位。为什么double表示的范围大那么多呢?
double是n*2^m(n乘以2的m次方)这种形式存储的,他们是由符号位,指数位,尾数位组成。
1.符号位:最高位31,表示浮点数的正负,0为正,1为负;
2.指数位:占的位数代表着改类型的范围,例如float指数位范围第30-23位(占8bit),则范围为2^8-1等同于-128 ~ 128 计算方式同float,double的指数范围:第62-52位(占11bit),范围:2^11-1等同于-1024~1024
种类-------符号位-------------指数位----------------尾数位----
float—第31位(占1bit)—第30-23位(占8bit)----第22-0位(占23bit)
double–第63位(占1bit)—第62-52位(占11bit)—第51-0位(占52bit)
char 类型
char类型可以表示单个字符,其字面量值要用单引号括起来,例:char = ‘A’;
char字符可以用以描述Unicode字符,可用1~2个char字符表示;
使用转义序列符\u表示Unicode代码单元的编码
想要弄清char类型,需了解Unicode编码机制
boolean类型
boolean 类型有两个值:false 和 true ,用来判定逻辑条件,整型值和布尔值之间不能进行转换