“&&”是做什么的?

What does "&&" do?

我好像找不到我需要的资源。 && 在比较变量以确定它们是否为真的代码中做了什么?如果有 link 和符号比较列表,将不胜感激。 示例:表达式 1:r = !z && (x % 2);

在大多数使用 && 的编程语言中,它是布尔运算符 "and"。例如伪代码if (x && y)表示"if x is true and y is true."

在你给出的例子中,你使用的语言不清楚,但是

r = !z && (x % 2);

大概是这个意思:

r = (not z) and (x mod 2)
  = (z is not true) and (x mod 2 is true)
  = (z is not true) and (x mod 2 is not zero)
  = (z is not true) and (x is odd)

它是逻辑与运算符

(&&) returns 布尔值 true 如果两个操作数都是 true 和 returns false否则。

boolean a=true;
boolean b=true;    
    if(a && b){
      System.out.println("Both are true"); // Both condition are satisfied
    }

输出

Both are true

让我们想象一下这种情况:

一=1 b = 2

如果 a = 1 && b = 2 return"a is 1 and b is 2"

如果 a = 1 && b = 3 return"a is 1 and b is 3"

在这种情况下,因为 a 等于 1 AND b = 2,所以顶部的 if 块将 return 为真,并且将打印 "a is 1 and b is 2"。但是,在第二个 if 块中,a = 1,但 b 不等于 3,因此因为只有一个语句为真,所以不会打印第二个结果。 && 和 and, "if a is 1 and b is 1".

完全一样

您问题的确切答案取决于您使用的是哪种语言。在 R 中,& 运算符对两个向量成对执行 AND 运算,如:

c(T,F,T,F) & c(T,T,F,F)
#>  TRUE FALSE FALSE FALSE

&& 运算符仅对每个向量的第一个元素进行运算,如:

c(T,F,T,F) && c(T,T,F,F)
#> TRUE 

OR 运算符(|||)的行为类似。这些运算符在不同的语言中会有不同的含义。

在大多数编程语言中,运算符 && 是逻辑与运算符。它连接到布尔表达式和 returns 只有当双方都为真时才为真。

这是一个例子:

int var1 = 0;
int var2 = 1;

if (var1 == 0 && var2 == 0) {
      // This won't get executed.
} else if (var1 == 0 && var2 == 1) {
      // This piece will, however.
}

虽然 var1 == 0 计算结果为真,但 var2 等于 0。因此,因为我们使用 && 运算符,所以程序不会不要进入第一个街区。

您经常会看到的另一个运算符是 ||,代表 OR。如果两个语句中至少有一个为真,它将评估为真。在上面的代码示例中,使用 OR 运算符将如下所示:

int var1 = 0;
int var2 = 1;

if (var1 == 0 || var2 == 0) {
      // This will get executed.
}

我希望您现在了解它们的作用以及如何使用它们!

PS:一些语言具有相同的功能,但使用了其他关键字。 Python,例如有关键字 and 而不是 &&.

在 C 中,&& 的工作方式类似于逻辑与,但它只对 bool 类型进行运算,除非它们是 0.

相比之下,&是按位与,returns相同的位。

即。 1 && 21 && 3 是正确的。

但是 1 & 2 是错误的,而 1 & 3 是正确的。