原创

java基础回顾


  • 位(bit),字节(byte),千字节(kb):

计算机最小的传输单位是位(bit),最小的存储单位是字节(byte);

  • 各数据类型转换关系

8bit=1byte=1boolean=2short=4int=8long=4float=8double=2char

  • 二进制的 原码,反码,补码

8位 二进制整数的 最高位为表示符号位(0:正数,1:负数),我们看到的是原码,计算机底层存储的是数据的补码 正数的原码反码补码都一致,负数的补码是负数的反码加一,因此负数的补码=反码+1,原码=(数值位取反,符号位不变)反码。

  • 各进制开头符号

  1. 二进制: 0b

  2. 八进制: 0

  3. 十进制: 无

  4. 十六进制:0x

  • 关于float类型二进制存储问题

float底层数据结构与整数有差异,采用的是科学计数法,实际数据表示范围要比long类型大

  • 逻辑运算符

  1. &(逻辑与):1假则假

  2. |(逻辑或):1真则真

  3. ^(逻辑异或):不同则真

  4. !(逻辑非):真假相反

  5. &&(短路与):同&,区别是左边是false,右边不执行

  6. ||(短路或):同|,区别是左边是true,右边不执行

  • ++与--

单独使用,无区别,表示自增(减)1;在变量表达式中,++i表示先自增1后赋值,i++表示先赋值后自增1。

  • 位运算符

特点: 数据先转化成二进制在运算,效率高;

  1. &(与):有0则0

  2. |(或):有1则1

  3. ^(异或): 相同则0,不同则1,某个数据对另一个数据异或两次,该数不变 a ^ b ^ b = a(简单的数据加密,变量交换(左:aba,右:a^b));

  4. ~(按位取反): 0变1,1变0

  5. <<(左移): 左边最高位丢弃,空位补0:把该数*2的移动次数幂 eg:3 << 2 = 3 * 2^2 = 12

  6. >>(右移): 最高位是0,左边补0;最高位是1,左边补1;:把该数/2的移动次数幂 eg:24 >> 2 = 24 / 2^2 = 6

  7. >>>(无符号右移): 总是为正数,左边补齐0,其他同>>

  • 循环中的思想

  1. 统计思想

  2. 求和思想

基础
javase
  • 作者:管理员(联系作者)
  • 发表时间:2020-03-19 10:23
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 公众号转载:请在文末添加作者公众号二维码
  • 微信公众号

    评论

    留言