JAVA 自动数据类型转换 及验证

JAVA数据类型转换(自动数据类型转换)

  1. 自动类型转换(隐藏式)将 取值范围小的类型 自动提升为 取值范围大的类型 。

    1. 特点:代码不需要特殊处理,自动完成
    2. 规则:数据范围从小到大
    数据类型关键字在内存中占用的字节数取值范围默认值
    布尔型boolean1个字节(8位)true,falsefalse
    字节型byte1个字节(8位)-128 ~ 1270
    字符型char2个字节(16位)0 ~ 216-1‘\u0000’
    短整型short2个字节(16位)-215 ~ 215-10
    整型int4个字节(32位)-231 ~ 231-10
    长整型long8个字节(64位)-263 ~ 263-10
    单精度浮点型float4个字节(32位)1.4013E-45 ~ 3.4028E+380.0F
    双精度浮点型double8个字节(64位)4.9E-324 ~ 1.7977E+3080.0D
    1. 规律总结

      byteshortchar‐‐>int‐‐>long‐‐>float‐‐>double
      

      例如 一个 int 类型变量 和 一个byte类型变量 结果就会自动转化为 int 类型变量

    2. 代码展示

      public class IntLongDoubleAutoChange {
          public static void main(String[] args) {
              byte b = 1;
              short s = 2;
              int i = 3;
              long l = 4L;
              double d = 5.1;
              float f = 4.4F;
              System.out.println("=======");
              System.out.println("byte + short = " + getType((b + s)));  // int
              System.out.println("=======");
              System.out.println("byte + int = " + getType((b + i)));  // int
              System.out.println("=======");
              System.out.println("short + int = " + getType((s + i)));  // int
              System.out.println("=======");
              System.out.println("long + int = " + getType((l + i)));  // Long
              System.out.println("=======");
              System.out.println("float + int = " + getType((f + i)));  // Float
              System.out.println("=======");
              System.out.println("double + int = " + getType((d + i)));  // Double
              System.out.println("=======");
              System.out.println("double + float = " + getType((d + f)));  // Double
              System.out.println("=======");
              //  注意是数据范围 而非字节数
              System.out.println("long + float = " + getType((l + f)));  // Float
      
          }
      
          private static String getType(Object a) {
              return a.getClass().toString();
          }
      }
      
    3. 运行结果显示
      在这里插入图片描述

    4. 数据类型强制转化

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值