在网上看到有人用&也有人用&&,这两者有什么区别吗
在判断的用法上不同,&是两边都要进行逻辑值的运算然后再进行逻辑and 的运算; &&先算左边的逻辑值,一旦为假,直接将整个表达式判定为假,否则再计算右边的
还有&&不能用在矩阵之间的逻辑运算
还有&&不能用在矩阵之间的逻辑运算
正常情况下是无区别的,但是进行逻辑判断时,有俩个不同点:
1.&适用于矩阵的运算,&&不适用
2.当判断两个逻辑值,时,例如A&(f(x)>c)和A&&(f(x)>c)时,对于第一种情况,不论A是否为真,A和(f(x)>c)都要计算,但是对第二种情况,如果A是false,那么后面的(f(x)>c)就不用计算了【如果(f(x)是一个计算量很大的函数,就很节省时间】
1.&适用于矩阵的运算,&&不适用
2.当判断两个逻辑值,时,例如A&(f(x)>c)和A&&(f(x)>c)时,对于第一种情况,不论A是否为真,A和(f(x)>c)都要计算,但是对第二种情况,如果A是false,那么后面的(f(x)>c)就不用计算了【如果(f(x)是一个计算量很大的函数,就很节省时间】
&&不适用于矩阵的运算
&:不管前面的条件是否正确,后面都执行。 &&:前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好。
&是两边都要进行逻辑值的运算然后再进行逻辑and 的运算; &&是有短路逻辑,先算左边的逻辑值,一旦为假,直接将整个表达式判定为假,否则再计算右边的
还有&&不能用在矩阵之间的逻辑运算
还有&&不能用在矩阵之间的逻辑运算