“&&”是做什么的?
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 && 2
和 1 && 3
是正确的。
但是 1 & 2
是错误的,而 1 & 3
是正确的。
我好像找不到我需要的资源。 && 在比较变量以确定它们是否为真的代码中做了什么?如果有 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 && 2
和 1 && 3
是正确的。
但是 1 & 2
是错误的,而 1 & 3
是正确的。