return n != 0 && n % 2 == 0 ? -n : n;
Оператор != - оператор равенства, возвращающий истину, если операнды не равны, и ложь иначе. n != 0 - значение условия "n не равно 0"
Оператор ?: - тернарный оператор, его запись имеет вид _условие_ ? _возвращаемое_значение_при_истинности_условия_ : _возвращаемое_значение_при_ложности_условия_ .
Операторы, использованные в выражении, по убыванию приоритета (операторы с равным приоритетом в одной строке):
унарный -
%
== !=
&&
?:
А тогда return n != 0 && n % 2 == 0 ? -n : n; эквивалентно return ((n != 0) && ((n % 2) == 0)) ? (-n) : n;
Если n не равно 0 и дает остаток 0 при делении на 2 (т.е. четно), возвращается значение -n, иначе возвращается n.
№1 (Av ¬A)&B = (1)&B = B
№2 A&(¬A v B) = A & ¬A v A & B = 0 v A & B = A & B