Что такое короткое замыкание логического оператора?

Операторы И (&&) и ИЛИ (||) выполняются слева направо, то есть, если при последовательном вычислении, левая часть оператора И (&&) окажется равной false, то правая часть выполняться не будет, так как всё равно в результате получиться false. То же самое если левая части оператора ИЛИ (||) будет равна true, независимо от правой части результат предрешён – true. Такой случай, когда второй аргумент не вычисляется, называется короткое замыкание.

Это может привести к появлению достаточно труднонаходимых багов, например, если правый аргумент является функцией, невыполнение которой может привести к получению появлению побочных последствий. Чтобы избежать этого в языке Java введены логические операторы без короткого замыкания: & и |. По сути, это логические варианты выполнения битовых операций.

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *