Java的基本数据类型和类型转换规则

大体上可以分为数值型和非数值型

数值型又可以分为

1 整数型

byte(字节型):-128到127(多了数据就会溢出)默认值为0b

(实际上就是二进制,逢二进一,举个简单例子

0000 0000(第一个0为符号位)二进制

1000 0000代表-128也就是0-128

0111 1111代表1+2+4+8+16+32+64=127(正数))

short:16位:-2^15到2^15-1 默认值为0s

int(整型,默认):32位 默认值为0

long(建议以L结尾):64位 默认值为0L

2 浮点数型

float:必须以f结尾(精度是7位) 默认值为0.0f

double(默认使用): 默认值为0.0

非数值型可以分为

字符型char:默认值为u000,一个字符用单引号包裹

(常见:0对应数值48,字符A对应数值65,字符a对应字符97,char输出的全是字母代替数字)

布尔型boolean:true和flase。默认值为flase

常用的非基本类型string:"一串字符“默认值为null

类型转换的规则(很重要)

大类型接收小类型,会默认类型转换成大类型

小类型接收大类型,需要强制类型转换,否则会报错。

不同类型进行运算时,会转默认类型化为大类型(double和int相加转化超过精度时会四舍五入,即丢失精度)

double大于int,int和char可以互转(据说是开发者给自己设置的便利)

经验分享 程序员 微信小程序 职场和发展