• java之逻辑运算符


    &-逻辑与    |-逻辑或    !-逻辑非    &&-短路与    ||-短路或    ^-逻辑异或

    a b a&b a|b !a a^b a&&b a||b
    T T T T N N T T
    T N N T N T N T
    N T N T T T N T
    N N N N T N N N

    逻辑运算符需要注意的几点:

    • java中没有连续型布尔表达式,即不可以写成3<x<6,而要写成x>3&x<6;
    • “&”和"&&"的区别:
      &:左边无论真假,右边都进行运算;
      &&:当左边为真时,右边参与运算;当左边为假时,右边不参与运算;
      public class Test{
          public static void main(String[] args) {
              int a = 1;
              int b = 2;
              if (a == b && test()){
                  System.out.println("world");
              }
          }
          
          public static boolean test() {
              System.out.println("hello");
              return false;
          }
      }

      由于a==b为假,所以右边不参与计算,最后什么都不会输出。

      public class Test{
          public static void main(String[] args) {
              int a = 1;
              int b = 2;
              if (a < b && test()){
                  System.out.println("world");
              }
          }
          
          public static boolean test() {
              System.out.println("hello");
              return false;
          }
      }

      由于a<b为真,此时右边参与运算,但是右边结果为false,所以整个判断表达式为false,即不会运行到if里面,所以会输出只会hello。

      public class Test{
          public static void main(String[] args) {
              int a = 1;
              int b = 2;
              if (a == b && test()){
                  System.out.println("world");
              }
          }
          
          public static boolean test() {
              System.out.println("hello");
              return false;
          }
      }

      由于a<b为真,此时右边参与运算,右边结果也为true,所以整个判断表达式为true,会运行到if里面,所以会输出只会hello wrold。

    • “|”和"||"的区别:
      |:左边无论真假,右边都进行运算;
      ||:当左边为真时,右边参与运算;当左边为假时,右边不参与运算;
    • "^"异或直接理解就是相同则返回false,不同就返回true;
  • 相关阅读:
    [Leetcode] ZigZag Conversion
    [Leetcode] Wildcard Matching
    [Leetcode] 4Sum
    [Leetcode] Word Break II
    [Leetcode] Best Time to Buy and Sell Stock III
    [Leetcode] Permutation Sequence
    [Leetcode] Surrounded Regions
    [Jobdu] 题目1522:包含min函数的栈
    CUDA2.1-原理之索引与warp
    opencv8-GPU之相似性计算
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12036484.html
Copyright © 2020-2023  润新知