JAVA的类型转换

作者: 千叶鸟 | 来源:发表于2017-06-14 09:48 被阅读20次

    基本数据类型之间的转换(值转换)

    1. boolean类型不可以和其他基本数据类型进行转换

    2. 整型,字符型,浮点型之间的转换遵行一下原则:

    1. 容量小的类型会自动转换成容量大的类型,类型由小到大:
      byte,short,char<int<long<float<double
      byte,shor,char之间不会转换,他们三者在计算时会转换为int型
      PS:int型可以 直接(不能是多个(byte/short/char)相加后转换为了int的值(以后能不能看懂。。。。。。))赋值给byte,short,char型,但是不能超出他们的范围。
    2. 容量大的类型在转换为容量小的类型时要加强制转换符,可能会造成精度降低或溢出,要 格外注意
    3. 不同数据类型在计算时会都先转换成里面最大的那种数据类型,然后计算
    1. 实数常量:默认为double型
      整型常量:默认为int型

    引用数据类型之间的转换(引用转换)

    1. 把一个Stirng类型表示的值转换成基本数据类型:
      Integer.parseInt(Stirng s)
      Double.parseDouble(String s)
      Boolean.parseBoolean(String s)等等(char有另外的方法)

    2. 把一个基本数据类型转换成String类型:
      Interger.toString(int i)

    3. 由于JAVA的多态,子类可以隐式的转换为父类(其实也就是父类引用指向之类对象),这样的转换过后,父类的引用仍然可以通过强转转化为子类(子类原有的属性和方法不会丢失,因为子类对象在内存中并未发生变化),示例:

    //父类强转回子类后,子类仍可以使用自身属性和方法
    Father father = new Son();
    Son son = (Son)father;
    
    1. 但是!父类直接强转为子类会报ClassCastException异常
    //会抛出ClassCastException异常
    Father father = new  Father();
    Son son = (Son) father;
    

    相关文章

      网友评论

        本文标题:JAVA的类型转换

        本文链接:https://www.haomeiwen.com/subject/ibksqxtx.html