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

在这里插入图片描述

基本类型的自动转换

简介

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

基本类型的强制转换

简介

在这里插入图片描述

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

表达式类型的自动提升

简介

在这里插入图片描述

在这里插入图片描述

  • 只是声明的时候底层帮int 25转byte
  • 3 是 int, b4是byte声明,会编译错误
  • byte = int + int 编译错误
  • byte,short,char自动提升为int
    在这里插入图片描述

算术运算符

简介

在这里插入图片描述

在这里插入图片描述

  • 注意区分是字符还是字符串
    在这里插入图片描述
  • NaN 不等于自己
  • 正无穷大 100.0/0.0
  • 负无穷大 - 100.0/0.0

猜你喜欢

转载自blog.csdn.net/a133900029/article/details/89792516