JAVA 类型转换:隐式转换与强制转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 类型转换:隐式转换与强制转换相关的知识,希望对你有一定的参考价值。

    这篇随笔是对java类型转换的回顾,方便忘记的时候查询,同时希望帮助有这方面需要的朋友

  一、 数据类型分类:

                简单数据类型:整型、实型、字符型((byte-short-char)-int-long-float-double)

 

 

  二、简单类型转换

        (1)低级向高级转换---自动转换:隐式转换

            

        byte i = 0;
        int a =i;
        long b = i;
        float c =b;
        double d =c;
        short j =i;

 

        (2)高级到低级转换---强制转换

           

        int i=99;
        byte b=(byte)i;
        char c=(char)i;
        float f=i;
        double d = f;
        f =(float) d;

        (3)包装类过度类型转换

            JAVA 共有6个包装类:Boolean、Integer、Long、Float、Double、Character 

 三、转换例子

     

shorts = 1;

s= s +1;     

      与

     

shorts = 1;

s+=1;

     分析是否有问题?

 

   分析:第一个会报错,因为s = s+1会隐式转换为int类型,当把一个int类型赋值给short类型时,可能损失。

     第二个正确,因为S+=1;中具有强制转换,s = (short)(s+1),那么不会报错。


 

    

   

以上是关于JAVA 类型转换:隐式转换与强制转换的主要内容,如果未能解决你的问题,请参考以下文章

类型转换 隐式转换 自动提升 强制转换

java 强制类型转换的规则是啥?

怎样让vs2013不进行强制类型转换

2020-12-05

今天聊一聊Java引用类型的强制类型转换

C强制类型转换与隐式转换