Назад к вопросам
Middle
5
Как поменять значения двух переменных местами без использования третьей переменной?
Компании, где спрашивали
Лоция
Ответ от нейросети
sobes.tech AI
В Java можно поменять значения двух переменных местами без использования третьей переменной несколькими способами.
- С помощью арифметических операций (для числовых типов):
int a = 5;
int b = 10;
a = a + b; // a = 15
b = a - b; // b = 5
a = a - b; // a = 10
- С помощью побитового XOR (для целочисленных типов):
int a = 5;
int b = 10;
a = a ^ b; // a = 15 (0101 ^ 1010 = 1111)
b = a ^ b; // b = 5 (1111 ^ 1010 = 0101)
a = a ^ b; // a = 10 (1111 ^ 0101 = 1010)
Оба способа меняют значения переменных без дополнительной памяти. Однако стоит быть осторожным с переполнением при арифметических операциях и использовать их только с подходящими типами.