运算符、流程控制语句

自增自减容易出错的地方:

扩展的赋值运算符
 a+=b 等同于 a = a+b;
 扩展的赋值运算符 隐含了一个类型的强制转换

& && 有何区别

  & : 当左边的表达式结果为false时 , 仍旧判断执行右边的表达式
  && :当左边的表达式结果为false时 , 不去判断执行右边的表达式

| || 有何不同之处

  | : 当 左边的表达式结果为 true 时 , 仍然会对右边的表达式进行 执行判断
  ||: 当 左边的表达式结果为 true 时 , 不会会对右边的表达式进行 执行判断

三目运算符:

位运算符

 只能操作整型
 使用位运算符时 会把 byte char short 先自动提升到 int

<< 左移

  x << y 等价于 x * 2^y

>> 右移

   x >> y 等价于 x / 2^y
 
 例如 
    5 >> 1 == 5 / 2^1
    0 0000101 5
    0 0000010 右移一位 前面补的是符号位 -> 2
    0 0000001 右移二位 前面补的是符号位 -> 1
 
负数右移
    1 0000101 -5 补码
    1 0000100 反码
    1 1111011 原码 
    
    1 1111101 原码右移一位 补符号位
   反码1 0000010
   补码1 0000011 == -3
    1 1111110 原码右移二位 补符号位
   反码1 0000001
   补码1 0000010 == -2
 

>>> 无符号右移

  之前的 >> , 正数负数补的是符号位 , 无符号右移补 0
  >>> >> 如果操作的正数 , 那么完全一样 , 操作的负数 差距很大
 
  -5 >>> 1 == 2147483645 
  
  1 24个0 0000101 -5补码
  1 24个0 0000100 -5反码
  1 24个1 1111011 -5原码
  0 24个1 1111101 右移一位 补0
   得出结果 2147483645
 
if语句同c#不讲了

最新文章

  1. 7.Android常用第三方支付
  2. [翻译] WCF运行时架构
  3. checkbox与说明文字无法对齐的问题
  4. Linq之Lambda表达式初步认识
  5. IOS 时间 日历 处理集合
  6. LeetCode 45
  7. html5在手机端关于 map area中的自适应
  8. 海美迪Q5智能机顶盒的蓝牙功能
  9. HTTP meta 设置方法
  10. Freemarker常用技巧(二)
  11. 软件开发常用Linux命令
  12. wpf 线程与界面线程
  13. HDU1062:Text Reverse
  14. 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(五)
  15. php中curl远程调用获取数据
  16. Spring Cloud学习笔记-005
  17. Java数据结构和算法 - 二叉树
  18. php的Memcached模块扩展
  19. 微信公众号开发调用自带地图 不显示(openLocation)
  20. Docker GitHub 网站中 Readme.md 以技术者的角度翻译

热门文章

  1. pt-deadlock-logger使用
  2. eclipse tomcat jdk 版本引用
  3. 加密算法IV的作用
  4. skype for business server 2015 报错“不可用:试图检查架构状态时发生故障,请确保能够访问Active Direcotry”
  5. 二阶SQL注入理解与体会
  6. json转换为tree对象(递归)
  7. 【2D游戏引擎】WIP反思
  8. Lovable eccentric
  9. copy &quot;xxxxx\xx.dll xxxxxxx\ ” 已退出,代码为1 错误解决方法
  10. Lua脚本认知小结