JavaSE笔记(08) —— Java逻辑运算符、三元运算符以及位运算符

逻辑运算符

【介绍】

        用于连接多个条件(多个关系表达式),最终的结果也是一个 boolean值。

【分类】

  1. 短路与 && , 短路或 ||,取反!;
  2. 逻辑与 &,逻辑或 |,逻辑异或 ^ ;
【区别图示】

 && 和 & 基本规则

名称语法特点使用区别
短路与&&条件 1&&条件 2两个条件都为 true,结果为 true,否则 false如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高
逻辑与&条件 1&条件 2两个条件都为 true,结果为 true,否则 false不管第一个条件是否为 false,第二个条件都要判断,效率低

|| 和 | 使用区别

名称语法特点使用区别
||短路或条件 1||条件 2两个条件中,只要有一个成立,结果为 true,否则为 false如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高
| 逻辑或条件 1|条件 2两个条件中,只要有一个条件成立,结果为 true,否则为 false不管第一个条件是否为 true,第二个条件都要判断,效率低

! 取反 和 ^ 逻辑异或

名称语法特点
! 非(取反)!条件如果条件本身成立,结果为 false,否则为 true
^ 逻辑异或条件一 ^ 条件二当条件一和条件二不同时,则结果为 true, 否则为 false

三元运算符

  • 语法

        条件表达式 ? 表达式 1:表达式 2;

  • 运算规则
  1. 如果条件表达式为 true,运算后的结果是表达式 1
  2. 如果条件表达式为 false,运算后的结果是表达式 2

        【口诀:一真二假】(PS:这个是自己学的时候瞎想的,觉得拗口可以自己总结一个)

【代码演示】

int a = 55;
int b = 88;
int result = a > b ? a++ : b--;
System.out.println("result=" + result);
System.out.println("a=" + a);
System.out.println("b=" + b);
// 解读
// 1. a > b 为 false
// 2. 返回 b--, 先返回 b 的值,然后在 b-1
// 3. 返回的结果是 88

【细节分析】

  1. 表达式 1 和表达式 2 要为可以赋给接收变量的类型(或可以自动转换);
  2. 三元运算符可以转成 if--else 语句;                                                                                         【例:int res = a > b ? a++ : --b  ;     if ( a > b) res = a++  ;      else res = --b;】

位运算符

  • java 中有 7 个位运算:&,|, ^ ,~,>>,<< 和 >>>;
【&,|, ^ ,~】图解
  • 算术右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位;
  • 算术左移 << 逻辑右移也叫无符号右移,运算规则是: 低位溢出,高位补 0;
  • >>> 逻辑右移也叫无符号右移,运算规则是: 低位溢出,高位补 0;
  • 特别说明:没有 <<< 符号 ;
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

很哇塞的CTY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值