Sobes.tech
Back to questions
Middle
4

Как поменять значения двух переменных местами без использования третьей переменной?

Companies where asked
Лоция

Answer from AI

sobes.tech AI

В Java можно поменять значения двух переменных местами без использования третьей переменной несколькими способами.

  1. С помощью арифметических операций (для числовых типов):
int a = 5;
int b = 10;
a = a + b; // a = 15
b = a - b; // b = 5
a = a - b; // a = 10
  1. С помощью побитового 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)

Оба способа меняют значения переменных без дополнительной памяти. Однако стоит быть осторожным с переполнением при арифметических операциях и использовать их только с подходящими типами.