Какая разница между ними!= и =! на Яве? [дубликат]
этот вопрос уже есть ответ здесь:
что это =! оператор? [дубликат]
13 ответов
Я смотрел на какой-то макет OCJP вопросы. Я наткнулся на действительно непонятный синтаксис. Вот это:
class OddStuff {
public static void main(String[] args) {
boolean b = false;
System.out.println((b != b));// False
System.out.println((b =! b));// True
}
}
почему выходные данные меняются между != и =!?
4 ответов:
вопрос просто играет с вами с запутанным интервалом.
b != bобычный!=(не равно) сравнение.С другой стороны:
b =! bлучше пишется какb = !b, который анализируется как:b = (!b)таким образом, это два оператора.
- первый инверт
b.- затем назначьте его обратно
b.оператор присваивания возвращает присвоенное значение. Таким образом,
(b =! b)оценивает в true-это то, что вы распечатываете.
b != bозначает! (b == b): напротивb == b.
b =! bна самом делеb = !b, назначение. Это переключениеb's значение. Присваивание вычисляет значение выражения, так что это будет оцениваться в!b(наряду с изменением значенияb).
b=!bпоручение. Он назначаетbto!bи выражение вычисляет результирующее значение, которое являетсяtrue.
b =! b
вы делаете задание, вы говорите, что B должно иметь значение !Б.
б != b
вы спрашиваете, отличается ли B от b
Comments