Разница между этими условиями в том, что если вы используете две вертикальныелинии,ивыражениестоящее слеваистинно( true), то правое – даже не проверяется. Если используется одна вертикальная черта, JVM всегдабудетвычислятьрезультатобоихвыражений.
Логическое и задаётся одним или двумя амперсандами (&&).Всёвыражение истинно, если истинна каждая часть этого выражения. Например,снимаетналогштата,толькоеслиэтотштат( state) – Нью Йорк и цена ( price) больше 110 долларов. Оба условия должны быть истинными одновременно:
if(state.equals("New York") && price >110)
или
if(state.equals("New York") & price >110)
Если используется двойной амперсанд и первое выражение ложно (false), то второе выражение даже не будет проверяться, т.к. вне зависимости от него, всё выражение будет ложным. При одном амперсандебудутвычисленыо баусловия.
Логическое не
,
(negation) обозначается восклицательным знаком. Оно
меняет значение выражения на противоположное. ,Например