JavaSE(二):Java语法(5)——Java数据类型转换

基本类型 转换原则 :

    类型转换主要在在 赋值、方法调用、算术运算 三种情况下发生。
  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三种类型;例如:byte b = 20;


    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、基本类型 与 对应包装类 可自动转换,这是自动装箱和折箱的原理;

        2、两个引用类型间转换:
    1、子类能直接转换为父类 或 接口类型;
    2、父类转换为子类要 强制类型转换;且在运行时若实际不是对应的对象,会抛出ClassCastException运行时异常;

要点:

    Java数据转型:

        10.02 * 10.02输出为100.40039999999999,JDKbug一直未修复

        9/2 =4 

    char类型:

        大写字符范围65-90,小写字符范围97-122,
        Java定义字符用Unicode编码是十六进制编码,一个char占16个字节,所以可以保存一个中文

    boolean:

        Java中没有0(false),1(true)的概念,只有true和false。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值