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