我知道&&这里是逻辑运算符,左边和右边的条件都是操作数,对吧? 像:
1 + 1是一个表达式,其中+是运算符,数字是操作数。我只是不知道条件本身是否也被称为操作数,因为它被运算符比较。我想是的。+
由于
答案 0 :(得分:6)
有哪些部分叫做?
>
,&&
和==
都是运营商。操作数是传递给运算符的值。 x
,y
和z
是最初的操作数。评估x > y
和z == 5
后,这些布尔结果将用作&&
运算符的操作数,这意味着表达式本身不是&&
的操作数,这些表达式的评估结果是操作数。
当您将操作数和运算符放在一起时,您会得到一个表达式(即x > y
,z == 5
,boolResult == boolResult
)
他们如何评估?
在大多数(如果不是全部)语言中,x > y
将首先进行评估。
在支持短路的语言中,如果x > y
为假,则评估将停止。否则,z == 5
就是下一个。
同样,在支持短路的语言中,如果z == 5
为假,评估将停止。否则,&&
将会持续到位。
>
,&&
和==
都是运营商。操作数是传递给运算符的值。 x
,y
和z
是最初的操作数。评估x > y
和z == 5
后,这些布尔结果将用作&&
运算符的操作数。
答案 1 :(得分:2)
另一种选择是转向grammar of C#
它陈述如下:
conditional-and-expression && inclusive-or-expression
将其概括为“表达式”可能足够准确:)
答案 2 :(得分:1)
如果您的问题确实是&&
左右部分被调用的话,我会说“表达式”,也许是“布尔表达式”。
答案 3 :(得分:1)
条件,或||
的情况:替代方案
答案 4 :(得分:0)
在c#中&&是一个运算符,左边和右边是表达式。在if语句中,如果left计算结果为true,则永远不会计算权限。
答案 5 :(得分:0)
这是一个布尔比较表达式,它由两个独立的布尔比较表达式组成。
根据语言的不同,解释方式取决于运算符优先级。因为它看起来像一个类似C的方言,我会假设&&是短路的。 (更多解释here)。
操作顺序将从左到右,因为相等测试者(>,> =,< =,==,!=)具有与布尔操作(&&,||)相同的优先级。 / p>
x> y将被评估,如果为真,则评估z == 5,然后将第一和第二结果进行AND运算。但是,如果x> y是假的,由于短路,表达式会立即返回false。
答案 6 :(得分:0)
你是{I}}和x>y
是操作数,而z==5
是操作符是正确的。另外,这两个操作数又包含它们自己的操作数和运算符。这些被称为复杂操作数
所以:
&&
和x>y
是运营商z==5
&&
和x
是运营商y
>
和z
是运营商5
关于各个组成部分以及如何命名:
==
和==
都是比较运算符,它们比较两个操作数的值。>
是等于运算符,如果左操作数等于右操作数,则求值为true。==
是一个大于的运算符,如果左操作数大于右操作数,则计算结果为true。>
是逻辑运算符,特别是逻辑AND 。如果左右操作数均为真,则计算结果为true。当引用每个操作数时,通过位置引用它们是标准的,即左操作数和右操作数 - 尽管有没有“官方”名称 - 第一和第二操作数同样有效。请注意,某些运算符(如&&
)只有一个操作数,有些运算符甚至有3个(三元运算符,其形式为!