Java基础小细节-二进制及运算

基础

  • 1.小数默认是double类型,如果10.1要给float,float f = 10.1f;
    long常量 赋值 long l = 10L;(l/L,f/F大小写均可)
  • 2.汉字也算一个char字符,char ch = ‘中’;
  • 3.二进制 0b|B开头,八进制0开头,十六进制0x|X开头
  • 4.正数的原码补码反码一模一样
  • 5.负数反码 对原码除符号位外,逐位取反
  • 6.负数补码 对原码逐位取反末位加一

计算机基础

  • 1.计算机运算是用补码运算
  • 2.基本数据类型4类八种
    整数型 byte short int long
    浮点型 float 4个字节 double 8个字节
    字符型 char 2个字节 0~65535
    布尔型 boolean 值只有true 和 false
  • 3.字节是内存分配的最小单位
  • 4.float和double的二进制运算不一样 所以不能直接赋
  • 5.float 一共32位 1最高位 8位 23尾数位(小数)
  • 6.double 一共64位 1最高位 后边和float不一样
  • 7.常量优化机制:int截半截赋给short 看看在不在short范围内(变量没有优化机制,参见第10条)
  • 8.byte char short 参与运算时 会自动提升自己的类型为int 然后再参与运算
  • 9.小类型 和 大类型 参与运算,类型自动提升为大类型
  • 10.变量赋值的时候,需要类型匹配【等号两边类型一致 或 等号左侧类型更大】
  • 11.只要有变量参与运算 就没有优化
  • 12.直接用 整形常量赋值时,一定要注意是否超出 类型取值范围
  • 13.局部变量 使用前 一定要初始化赋值
  • 14.字符串 + 其他类型数据 结果 还是字符串

计算机运算

  • 1.“%”求余运算的结果 符号 只和左操作数符号有关
  • 2.“%”求余运算的结果 数值 左右两边的绝对值的运算
  • 3.左值 = 右值
    左值:对应的内存空间/右值:空间中的值
  • 4.“==”比较的是右值
  • 5.“&&” 逻辑短路 前面是假的后面就不执行
  • 6.“&” 前后都会执行
  • 7.“||”和“|”同理
  • 8.右移时,最高位补 符号位的值
  • 9.手算出来的负数是原码,需要转换成补码给计算机存储
  • 10.同一个数 ^ 另一个数两次 ,得到的结果 是自己

关于switch

  • 2.switch里面可以放byte char short int
  • 3.switch里面的数据类型 要和 case后面的数据类型一致

猜你喜欢

转载自blog.csdn.net/qq_41079359/article/details/90058260