Изучение Java, и это типовой вопрос, с которым я столкнулся. Я думаю, что понимаю логику ответа, но может ли кто-нибудь подтвердить, правильно ли я понимаю?
public class Q8 {
static boolean b1;
static boolean b2;
static boolean b3;
public static void main(String[] args) {
boolean trueOrFalse = (b1 = true) || (b2 = true) && (b3 = true); //Line 9
System.out.println(b1 + ", " + b2 + ", " + b3);
}
}
Программа печатает true, false, false
на консоль.
Я понимаю, что переменным класса назначены значения по умолчанию false.
Прав ли я, говоря, что, поскольку b1 = true
назначает значение true для b1
вместо проверки на равенство, как задан вопрос, чтобы вы поверили, сочетания клавиш или операторов оставляют b2
и b3
в качестве значений по умолчанию, и поэтому true, false, false
выводит на консоль?