java中的类型转换问题

     自动类型转换(隐式类型转换):分两种情况:

          1,不同类型的数据进行运算时,系统会自动将运算优先级别低的转换成级别高的,结果和运算级别高的数据类型一样。

          2,赋值运算符两边类型不一样时,系统会自动将右侧表达式的类型转换成左侧的变量类型,然后再赋值

即: 

        见下图。在这个图中,黑色的实线表示在进行转换的时候,不会损失信息,而红色的虚线表示在转换时可能会引起信息的损失。


     强制类型转换(显示类型转换):从高精度转成低精度

例:

               解释:

               short s=1;

               s+=2;与s=s+2的区别.

第二个是类型转换错误,需要强制类型转换

short s=1:   S+=2;   

(暂时的理解)+=会进行内部处理+=”左边的数据类型会自动转换为右边的数据类型.

Short s=1;  s=s+2;

因为sshort类型,2int类型

Short---->int类型(自动)  

s+2=1+2=3(int类型)

Int类型再赋值给short时 会出现数据类型转换错误,

解决方法是进行强制数据类型转换

S=(short)(s+2);


注意:

              1.布尔型与其它基本类型之间不能转换

              2.转换的时候,以占用内存较大的类型为主

              3.整数的默认类型是int类型,小数的默认类型是double类型

              4.运算的两端必须一致,也就是运算前先转换成相同的数值类型,否则会出现损失精度

              5.通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。如: String a = "39"; int i = Integer.parseInt(a);


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值