JAVA基础复习三-逻辑运算符、位运算符和条件语句

一、逻辑运算符与或异或非双与双或

 &逻辑与:有false则false。
 |逻辑或:有true则true。
 ^逻辑异或:相同为false,不同为true。
 !逻辑非:非false则true,非true则false。

&&和&的区别?
    * a:最终结果一样。
    * b:&&具有短路效果。左边是false,右边不执行。
    *   &是无论左边是false还是true,右边都会执行   

||和|的区别?
    * a:最终结果一样。
    * b:||具有短路效果。左边是true,右边不执行。
    *   |是无论左边是false还是true,右边都会执行

二、位运算符

* &,|,^,~ 的用法,针对的是二进制
* &:有0则0
* |:有1则1
* ^:相同则0,不同则1
* ~:按位取反

举例:6&3 = 110 &011 = 010 = 2
其中~比较特殊,比如~6 = -7;因为6是int值,32位二进制,先按位取反,得到结果的补码,然后-1得反码,再除了符号位不变取反,得结果的原码,转为十进制即-7。
6的二进制    00000000 00000000 00000000 00000110
按位取反      11111111 11111111 11111111 11111001
-1                11111111 11111111 11111111 11111000补码
除符号位取反10000000 00000000 00000000 00000111 = -7


 >>,>>>,<<的用法:
*  <<:左移    左边最高位丢弃移动位数,右边补齐0
*  >>:右移    最高位是0,左边补齐0;最高为是1,左边补齐1
*  >>>:无符号右移 无论最高位是0还是1,左边补齐0

* 整数向左移动几位,乘以2的几次幂;向右移动几位除以2的几次幂

三元运算符的格式

(关系表达式) ? 表达式1 : 表达式2;前面是一个判断,后面两个是根据判断的结果。

switch语句小知识点:
* a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
* b:default可以省略吗?
    * 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
    * 特殊情况:
        * case就可以把值固定。
        * A,B,C,D
* c:break可以省略吗?
    * 最后一个可以省略,其他最好不要省略
    * 会出现一个现象:case穿透。
    * 最终我们建议不要省略
* d:default一定要在最后吗?
    * 不是,可以在任意位置。但是建议在最后。
* e:switch语句的结束条件
    * a:遇到break就结束了
    * b:执行到switch的右大括号就结束了
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值