javase -- 基本数据类型之间的运算规则


基本数据类型之间的运算规则.

除了boolean类型

  • 自动类型提升

    • 当容量小的数据类型与大的数据内型运算时,结果自动提升为大的数据类型
    • byte、short 、char –> int –> long –> float –> double
    • 特例byte、short 、char三者间运算(包括自己和自己) 都转换为 int
      • int = byte + short
      • int = byte - char
      • int = char * short
      • int = byte / byte

    这里的容量指 能表示数的范围大小

    不是 字节大小

  • 强制类型转换:自动提升逆运算:容量大的 –> 容量小的
    • 使用强转符 : ()
      • int i = (int)1.4;// i = 1
    • 可能会损失精度
    • 符号有可能颠倒

补存.

1. long num = 12345;// 没有写L 没有报错 原因

​ 整型字面量 默认类型是 int

​ int –> long 是自动提升的

2.long num = 12345678901;// 会 编译失败 原因

​ 字面量范围超过了 int 的数据的范围

​ 可以 使用 long num = 12345678901L;

3.float num = 1.3; // 会 编译失败 原因

​ 浮点型字面量 默认类型是double

​ double –> float 需要强制转换

​ 必须使用 float num = 1.3F;

​ 或 float num = (float)1.3;

推荐使用 F

因为 前者是 先分配 float 大小的 内存去存 1.3

后者是 先分配 double大小的内存 存1.3 然后截取低 32位


文章作者: liuminkai
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 liuminkai !
评论
 上一篇
javase -- String类型 javase -- String类型
字符串类型. String属于引用数据类型 String的使用.1、声明.String str = ""; 2、运算. 可以和 8 种基本数据类型做 连接运算 连接运算符 + String str1 = "str" + 1;// s
2020-07-18
下一篇 
抽象工厂(AbstractFactory)模式 抽象工厂(AbstractFactory)模式
抽象工厂(AbstractFactory)模式.一、工厂模式. 作用: 实现了创建者和调用者的分离 详细分类 简单工厂模式 用来生产同一等级结构中的任一产品(对于增加新的产品,需要求修改已有代码) 工厂方法模式 用来生产同一等级
2020-07-18
  目录