Унарный оператор
boolean b = false;
System.out.println(b); // false
System.out.println(!b); // true
int i = -5;
System.out.println(i); // -5
System.out.println(-i); // 5
System.out.println(+i); // -5
int j = 5;
int k = 5;
System.out.println(++j + k++); // 11
System.out.println(j); // 6
System.out.println(k); // 6
Унарный оператор - это оператор, который принимает на вход один аргумент и возвращает некоторое значение.
К унарным операторам относятся: +, -, !
А так же, пре-унарный оператор и пост-унарный оператор.
- (оператор смены знака)
Собственно это всё что он делает - меняет знак переданного аргумента. Ещё есть побочный эффект от применения этого оператора, это повышение типа до int, в случае если аргумент имеет тип byte, short или char.
! - оператор логической инверсии.
Применяется только к переменным типа boolean и превращает значение из true в false и наоборот.
Операторы инкремента (++) и декремента (--) применяются к целочисленным переменным и обладают двумя вариациям:
👉 пост-инкремент/декремент (i++ и i--)
👉 пре-инкремент/декремент (++i и --i)
Разница между вариациями в том, что ++i увеличивает переменную и возвращает новое значение, а i++ возвращает старое значение, а только затем увеличивает переменную.
Что же делает унарный + ? Да ничего не делает, только имеет такой же побочный эффект как и унарный -.