java基础-基本数据类型(进阶)

总体思想 各个类型转换 由位数少的 转为位数多的
byte short char–int --long —float–double
8-16-32-64 整数型—小数型
字符串是最大的

这中间,int是32位 float也是32位 ,这个转换 不知道咋搞的???
百度知道

这样子来讲:float和int都是固定长度的,4字节(32位机子) 

int是精确的,超出范围就溢出了。数据错误了。 

而float并不是单纯的101010这样存储,是把4个字节划分为 
符号位,指数位,尾数位 比如1.123123*10^35;

3个部分固定的,因为有指数,存储的范围当然比int大了。 
但是3个部分也有范围限制,所以当你精度值越大时,月不精确了。

  • 案例一
    char 和int时,会自动转成整数 char a =‘a’;int b = a+1;
    一般来说,int转成char时,是从高位转成低位,需要强制转换,但是编译器比较好,能够不写也可以转换。
char a = 97;
等价于
char a = (char) 97;
  • 案例二
    a+b+c+d 一般来说,从前往后+,可能显示int 后是啥 最后是啥的
    验证(加上字符串的东西,因为字符串的优先级 最高!!!!):
    ‘a’+2.6+1+“”+‘a’+‘a’
    前面的加号先运行,得到一个double类型 ‘a’=97 97+2.6+1=100.6 后面的char变为字符串,字符串再加字符串,即 (字符+double)double+字符串-->字符串+字符-->字符串 字符串的优先级最高,其次浮点,其次整形
    于是最后是
    100.6aa
    而如果不是字符串,是个空字符,'a'+2.6+1+' '+'a'+'a'中间是一个空字符,那么最终结果就是一个double类型的数。
326.6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值