При таком решении выводится 30. Да, ответ правильный есть. 1) Но почему в результате выполнения строки 16 number не становится 32, ведь здесь (number | 5) > 12 будет false и значит оператору || нужно проверить еще и второе условие (number = number + 2) > 40, где как раз происходит увеличение на 2.
2) Это ведь побитовая операция (number | 5) ? И в результате отсюда мы получим 5, верно?
package com.javarush.task.pro.task08.task0815;
/*
Логические операторы
*/
public class Solution {
public static void main(String[] args) {
taskForCondition();
}
public static void taskForCondition() {
int number = 15;
boolean firstCondition = number < 15 & number > 25 & (number += 15) < 25;
boolean secondCondition = (number | 5) > 12 || (number = number + 2) > 40;
System.out.println(number);
}
}