数据过大和溢出

简介

Java-02.12-16
Java-02.12-16

  • 最大值的补码
    0b 01111111_11111111_11111111_11111111
    0b 0000000_0000000_0000000_0000000
    0b 0000000_0000000_0000000_0000001

  • 1的补码
    0b 0000000_0000000_0000000_0000001
    0b 01111111_11111111_11111111_11111110
    0b 01111111_11111111_11111111_11111111

  • 结果
    0b 1000000_0000000_0000000_0000000
    0b 01111111_11111111_11111111_11111111
    0b 1000000_0000000_0000000_0000000

0b01111111=127
0b0000000=0
0b1000001=-1
0b1000010=-2
0b1000000=-128

127+1=-128
-128-1=127

Java-02.12-16

基本类型的自动转换

简介

Java-02.12-16
Java-02.12-16

Java-02.12-16

Java-02.12-16
Java-02.12-16

  • long能转float 但是会多小数点
  • bool 不参与运算

基本类型的强制转换

简介

Java-02.12-16

  • int转byte 是默认在编译器底层实现 byte b = 125;
    编译器在底层发现可以转换
  • 可能丢失精度

表达式类型的自动提升

简介

Java-02.12-16

Java-02.12-16

  • 只是声明的时候底层帮int 25转byte
  • 3 是 int, b4是byte声明,会编译错误
  • byte = int + int 编译错误
  • byte,short,char自动提升为int
    Java-02.12-16

算术运算符

简介

Java-02.12-16

Java-02.12-16

  • 注意区分是字符还是字符串
    Java-02.12-16
  • NaN 不等于自己
  • 正无穷大 100.0/0.0
  • 负无穷大 - 100.0/0.0

相关文章:

  • 2021-09-25
  • 2021-07-18
  • 2021-08-21
  • 2021-09-23
  • 2021-10-29
  • 2021-08-21
  • 2021-08-12
  • 2021-05-24
猜你喜欢
  • 2022-01-05
  • 2022-12-23
  • 2021-06-05
  • 2021-08-06
  • 2021-05-26
  • 2022-12-23
  • 2021-08-26
相关资源
相似解决方案