使用逻辑短路,第二个操作数,expr2
,仅当结果不是由第一个操作数完全确定时才计算,expr1
.
由于逻辑与或的性质,逻辑表达式的结果有时在计算所有条件之前就已经完全确定了。逻辑而且
运算符返回逻辑0
(假
)如果表达式中只有一个条件为假。逻辑或
运算符返回逻辑1
(真正的
)如果表达式中只有一个条件为真。当逻辑表达式的求值因遇到这些值之一而提前终止时,则称该表达式具有短路.
例如,在表达式中A & b
, MATLAB®不评估条件B
如果条件一个
是假的。如果一个
是假的,那么值呢B
不会改变操作的结果。
当你明智地使用元素时&
而且|
的上下文中的操作符如果
或而
循环表达式(和只有在这种情况下),它们使用短路来计算表达式。
请注意
总是使用& &
而且||
操作人员使短路评估。使用&
而且|
当表达式不计算为逻辑标量时,用于短路的运算符可能会产生意想不到的结果。