&& 运算符是否仅在满足前一个条件的情况下评估右侧?

时间:2021-06-08 14:50:10

标签: pseudocode

如果我想检查多维列表是否有多个级别的值,我可以做类似的事情

if(list.contains("value") 
   && list.get("value").contains("value")
   && list.get("value").get("value").contains("value")
   && ...)

还是会在前面的条件为false后,仍然检查其他语句,导致空指针错误?

它也是特定于语言的还是通用标准,因为我发现如果前一个条件为假,python 和 java 会忽略一个条件,但这仍然适用于低级语言吗?

1 个答案:

答案 0 :(得分:2)

这称为“短路评估”并且取决于语言。您可以查看关于此的 wiki 文章,该文章按语言描述了该功能:

https://en.wikipedia.org/wiki/Short-circuit_evaluation