Какой самый элегантный способ сделать следующее:
int i = oneOrZero; if (i == 0) { i = 1; } else { i = 0; }
Можно предположить, что i может иметь только значение 1 или 0.
i
i ^= 1;
XOR значение с 1. Это дает вам оба пути (в случае, если вам нужно перевернуть 0 <--> 1 в любом случае):
0 <--> 1
0 ^ 1 = 1 1 ^ 1 = 0
Вычитание
i = 1 - i;
i = ( i + 1 ) % 2, хотя я думаю, что мы все согласны, что метод вычитания или xor лучше (Хотя он имеет дополнительное преимущество «переключать переключатель» для более чем двоичного.)
i = ( i + 1 ) % 2
i = (i == 0)?1:0 - один из способов, хотя мне больше нравятся версии @ Jimmy и @ Yuval.
i = (i == 0)?1:0
Использовать бит xor
int x = 0; x=(int)Math.cos(x); System.out.println("X value "+x);