programming-languages - x>y && z==5 - 这个表达式的部分是如何调用的?

标签 programming-languages terminology

我知道 && 是这里的逻辑运算符,左右两边的条件也是操作数,对吧? 喜欢:

1+1 是一个表达式,其中 + 是运算符,数字是操作数。我只是不知道条件本身是否也称为操作数,因为它由运算符进行比较。我想是的。+

谢谢

最佳答案

What are the parts called?

>&&== 都是运算符。操作数是传递给运算符的值。 xyz 是初始操作数。一旦 x > yz == 5 被评估,这些 bool 结果将用作 && 运算符的操作数,这意味着 表达式本身不是 && 的操作数,这些表达式的求值结果是操作数

当您将操作数和运算符放在一起时,您会得到一个表达式(即 x > yz == 5boolResult == boolResult)

How are they evaluated?

在大多数(如果不是全部)语言中,x > y 将首先被评估。

在支持短路的语言中,如果 x > y 为假,计算将停止。否则,z == 5 是下一个。

同样,在支持短路的语言中,如果 z == 5 为假,计算将停止。否则,&& 将排在最后。

>&&== 都是运算符。操作数是传递给运算符的值。 xyz 是初始操作数。一旦评估了 x > yz == 5,这些 bool 结果将用作 && 运算符的操作数。

关于programming-languages - x>y && z==5 - 这个表达式的部分是如何调用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3467820/

相关文章:

java - Java 中的泛型和子类型问题

algorithm - 简单代码及操作挑战(附图)

terminology - 静态/动态与强/弱

algorithm - 是否有不同语言的算法及其实现的在线目录?

c++ - 为什么 size_t 存在于 C/C++ 中并且可以/应该被替换?

multithreading - 搜索好的嵌入式和托管语言对

computer-science - 术语多路复用在计算机科学中是什么意思?

compiler-construction - 解析树和抽象语法树(AST)有什么区别?

swift - 包装/展开术语 (Swift)

python - "class functions"在 Python 中是指 "functions"还是 "methods"