一、基本数据类型
- 8种基本类型
- 若定义的基本类型超出范围会编译错误
- 运算结果超出范围不报错,而是出现溢出
1、数值型
1、整数型
1)byte
- 字节型
- 占用内存:1个字节,8bit
- 取值范围:-2的7次方 ~ 2的7次方-1(-128~127)
byte b=2;
2)short
- 短整型
- 占用内存:2个字节,16bit
- 取值范围:-2的15次方 ~ 2的15次方-1(-32768~32767)
short s=32000;
3)int
- 整型
- 占用内存:4个字节,32bit
- 取值范围:-2的31次方 ~ 2的31次方-1(-2147483648~2147483647)
int i=2147483646;
4)long
- 长整型
- 占用内存:8个字节,64bit
- 取值范围:-2的63次方 ~ 2的63次方-1(-9223372036854775808~9223372036854775807)
long l=10000L;
long l=10000000000;
2、浮点型
1)float
- 单精度型
- 占用内存:4个字节,32bit
- 取值范围:1.4E-45 ~ 3.4028235E38
float f=32000.11F;
2)double
- 双精度型
- 占用内存:8个字节,64bit
- 取值范围:4.9E-324 - 1.7976931348623157E308
double d=32.99;
double d=2147483648;
double d=2147483648D;
2、boolean
- 布尔型
- 占用内存:1个字节,8bit
- 只能取值为
true
、false
boolean b=true;
3、char
- 字符型
- 占用内存:2个字节,16bit
- 采用Unicode字符集编码,每个字符对应一个码(ASCII码: ‘a’–97 ‘A’–65 ‘0’–48)
char c='a';
char c=97;
二、比较
三、转换
- 数据类型从小到大:
byte
、short
、int
、long
、float
、double
1、自动类型转换
int i=123;
long l=i;
long q=123L;
int w=q;
float f=1.2F;
double d=f;
double d=1.2;
float f=d;
2、强制类型转换
1)浮点型->整型
double d=1.2;
int i=(int)d;
2)float->double
四、运算
- 先把运算中第1个变量转换成大类型,这样运算会按照最大类型的计算
int a=2/4
double a=2/4
double a=(double)2/4