zoukankan      html  css  js  c++  java
  • Java数据类型 及 转换原则

    一、数据类型分类:主要分为 基本类型、引用类型两大类;

    二、基本类型 转换原则 

    1、类型转换主要在在 赋值、方法调用、算术运算 三种情况下发生。
      a、赋值和方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换:
      (1)布尔型和其它基本数据类型之间不能相互转换; 
      (2)byte型可以转换为short、int、、long、float和double; 
      (3)short可转换为int、long、float和double; 
      (4)char可转换为int、long、float和double; 
      (5)int可转换为long、float和double; 
      (6)long可转换为float和double; 
      (7)float可转换为double; 

       另外还有是直接数的赋值:先通过直接数判断其类型,然后基本原则和上面谈到的赋值原则基本一致;只是直接数是整数时特殊一点,当在可表示范围内时,可以直接赋值给 byte short char三种类型;

      

     
    b、算术运算 中的类型转换:1 基本就是先转换为高位数据类型,再参加运算,结果也是最高位的数据类型;2 byte short char运算会转换为Int;

    (1)如操作数之一为double,则另一个操作数先被转化为double,再参与算术运算。 

    (2)如两操作数均不为double,当操作数之一为float,则另一操作数先被转换为float,再参与运算。 

    (3)如两操作数均不为double或float,当操作数之一为long,、则另一操作数先被转换为long,再参与算术运算。 

    (4)如两操作数均不为double、float或long,则两操作数先被转换为int,再参与运算。

    特殊: 

    (1)如采用+=、*=等缩略形式的运算符,系统会自动强制将运算结果转换为目标变量的类型。

      (2)  当运算符为自动递增运算符(++)或自动递减运算符(--)时,如果操作数为byte,short或char类型不发生改变;

    三、引用类型 转换原则

      1、基本类型 与 对应包装类 可自动转换,这是自动装箱和折箱的原理;    

    复制代码
            Integer c1 = new Integer(1);
            Integer c2 = 2;
            int cc = new Integer(3);
    
        </span><span style="color: #008000;">//另:</span><span style="color: #008000;">String 与 基本类型的互转</span>
        <span style="color: #0000ff;">int</span> i = Integer.parseInt("13"<span style="color: #000000;">);
        </span><span style="color: #0000ff;">int</span> ii = Integer.valueOf("12"<span style="color: #000000;">);
    
        String s1 </span>= String.valueOf(123<span style="color: #000000;">);
        String s2 </span>=<span style="color: #000000;"> Integer.toString(i);
        String s3 </span>= "" + i;</pre>
    
    复制代码

      2、两个引用类型间转换:

        1、子类能直接转换为父类 或 接口类型;

        2、父类转换为子类要 强制类型转换;且在运行时若实际不是对应的对象,会抛出ClassCastException运行时异常;

      

  • 相关阅读:
    找水王续
    大道至简-阅读笔记01
    第二阶段冲刺(第二天)
    第二阶段冲刺(第一天)
    找小水王
    《大道至简》阅读笔记02——关于项目经理
    学习进度第十二周
    找水王
    学习进度第十一周
    博客园用户体验
  • 原文地址:https://www.cnblogs.com/jpfss/p/10929157.html
Copyright © 2011-2022 走看看