Логические операторы в Java - Вопросы

Всего: 2 вопросов

1. 

В чём особенность операторов сокращённого вычисления (short-circuit) && и ||?

Операторы && и || не тратят время на бессмысленные вычисления. Оператор && сначала вычисляет левый операнд, и если он равен false, правый операнд уже не вычисляется, так как результат гарантированно будет false. Оператор || работает аналогично: если левый операнд равен true, результат гарантированно будет true, поэтому правый операнд не вычисляется. В отличие от них, одиночные & и | вычисляют оба операнда всегда, даже когда результат уже известен.

2. 

Чему равно значение выражения !true & false в Java?

Сначала выполняется унарный оператор ! — он имеет наивысший приоритет среди логических операторов: !true даёт false. Затем вычисляется false & false, что даёт false. Итоговое значение всего выражения — false.

Страница 1 из 1