java基础之逻辑运算符

首先我们需要知道java中逻辑运算符有哪些
第一部分:  &(逻辑与),|(逻辑或),^(逻辑异或),!(逻辑非)
第二部分:  &&(逻辑与 ,与&作用一致,但是运算形式不同),||(逻辑或,与|作用一致,但运算形式不同)   
a. 逻辑运算符的基本用法   
    逻辑运算符一般用于连接boolean类型的表达式或者值。
    语法:  布尔表达式 & 布尔表达式
          布尔表达式 | 布尔表达式
          布尔表达式 ^ 布尔表达式
          !布尔表达式 
          
           布尔表达式 && 布尔表达式
          布尔表达式 || 布尔表达式

b. 结论:
        &逻辑与:有false则false。
        |逻辑或:有true则true。
        ^逻辑异或:相同为false,不同为true。
        !逻辑非:非false则true,非true则false。
        特点:偶数个不改变本身。
第一部分: 
        &(逻辑与),|(逻辑或),^(逻辑异或),!(逻辑非)
案例:
    
    
  1. class Demo1_Operator {
  2. public static void main(String[] args) {
  3. //&,|,^,!
  4. int a = 10;
  5. int b = 20;
  6. int c = 30;
  7. //逻辑与 遇false则false
  8. /*System.out.println(a < b & b < c); //true & true = true
  9. System.out.println(a < b & b > c); //true & false = false
  10. System.out.println(a > b & b < c); //false & true = false
  11. System.out.println(a > b & b > c); //false & false = false*/
  12. //逻辑或 遇true则true
  13. /*System.out.println(a < b | b < c); //true | true = true
  14. System.out.println(a < b | b > c); //true | false = true
  15. System.out.println(a > b | b < c); //false | true = true
  16. System.out.println(a > b | b > c); //false | flase = false*/
  17. //逻辑异或 ^ 两边相同为false,两边不同为true
  18. /*System.out.println(a < b ^ b < c); //true ^true = false
  19. System.out.println(a < b ^ b > c); //true ^false = true
  20. System.out.println(a > b ^ b < c); //false ^ true = true
  21. System.out.println(a > b ^ b > c); //false^flase = false*/
  22. //逻辑非! 表达式结果为true 返回false, 结果为false 返回true
  23. System.out.println(!true);
  24. System.out.println(!!true);
  25. }
  26. }

第二部分:逻辑运算符&&和&的区别与||和|的区别
         1.&&和&的区别?
        a:最终结果一样。
b:&&具有短路效果。左边是false,右边不执行。
  &是无论左边是false还是true,右边都会执行
2.||和|的区别?
       a:最终结果一样
    b:||具有短路效果.左边是true,右边不执行
      |是无论左边是false还是true,右边都会执行
     3.开发中常用的逻辑运算符?
&&(相比较与&而言,由于短路效果,会减少运算的次数,提高效率),||(相比较于|而言,短路效果提高运算效率),!
案例:
    
    
  1. class Demo2_Operator {
  2. /*
  3. &&与&的区别
  4. * a:最终结果一样。
  5. * b:&&具有短路效果。左边是false,右边不执行。
  6. ||与|的区别
  7. a:最终的结果是一样
  8. b:||具有短路效果,左边为true,右边不执行
  9. */
  10. public static void main(String[] args) {
  11. int x = 3;
  12. int y = 4;
  13. //System.out.println((++x == 3) & (++y == 4)); //false & false = false
  14. //System.out.println("x = " + x); //x = 4 ++在前先进行x的++运算,然后与3比较返回false
  15. //System.out.println("y = " + y); //y = 5 ++在前先进行y的++运算,然后与4比较返回false
  16. System.out.println("---------------------------");
  17. System.out.println((++x == 3) && (++y == 4)); //false && (未知) = false
  18. System.out.println("x = " + x); //x = 4 ++在前先进行x的++运算,然后与3比较返回false
  19. System.out.println("y = " + y); //y = 4 由于前面的为false,遇到&&短路与则后面的不进行运算
  20. //故而++y的运算不会执行,最终返回的y为初始值.
  21. }
  22. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

欢谷悠扬

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

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

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

打赏作者

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

抵扣说明:

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

余额充值