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