基本数据类型转换

基本数据类型转换
类型转换的方向都是取决于数据的存储范围
byte—>short—>int—>long—>float—>double

1.自动类型转换
将范围小的类型赋值给范围大的类型,不需要强转。例如将小水杯的水倒入到大水杯中
例如:

int a = 12;
double d ;
d = a;    //能够通过编译不会报错

2.强制类型转换
将范围大的类型赋值给范围小的类型,需要强制类型转换。例如将大水杯的水倒入小水杯中。
强制类型转换格式:
目标类型 变量名=(目标类型)(被转换的数据);
例如:

int a;
double d = 12.5;
a = (int)d;

注意:强制类型转换可能出现两种情况
精度丢失
例如:

int  i = (int)12.5;
   System.out.println(i);

解析:结果i的值为12,小数点的数据丢失
数据溢出
例如:

byte b = (byte)128;
   System.out.println(b);

解析:结果为 -128,数据溢出

3.表达式类型提升
当两个不同类型的数据参与运算时,范围小的数据类型默认会自动转换为范围大的数据类型之后再参与运算。
byte,short,char相互之间不转换,他们参与运算首先转换为int类型
byte b = 10;
b = b + ‘A’
4.特例:byte a = 108; short s = 20;
该特例虽然右边为整型常量默认为int类型,左边是byte类型,属于大类型赋值给小类型,但是由于108属于-129-128之间,所以这里不需要强转
5.boolean类型不能转换为其他的数据类型
6.字符串和任何数据类型计算都是做拼接操作
字符串进行 + 连接的时候,也会进行类型的自动转换。
本质是字符串只能和字符串连接。
字符串可以和任意类型做连接是如何实现的呢?
编译器会将其他的任意的类型,都转换为 字符串之后,才和其他的字符串做连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷偷学习被我发现

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值