Как можно обменять значения двух переменных в Java?
(кроме таких способов):
int a = 2;
int b = 3;
int tmp;
tmp = a;
a = b;`
b = tmp;
a = a + b;
b = a - b;
a = a - b;
Через исключающее или, только эта операция будет либо сопоставима по ресурсам, либо перевышать ее
Алгоритм обмена при помощи исключающего ИЛИ
Для обмена целочисленных переменных алгоритм обмена при помощи исключающего ИЛИ (без ввода третьей переменной) выглядит следующим образом:
int a = -5;
int b = 9;
a ^= b;
b ^= a;
a ^= b;
В этом случае после выполнения программы a будет равно 9, а b будет равно -5.
Можно, впрочем, сделать то же самое, только ещё короче:
a = a ^ b ^ (b = a);
Обмен строк без ввода третьей переменной можно сделать так:
String a = "first";
String b = "second";
a = a + b;
b = a.substring(0, (a.length() - b.length()));
a = a.substring(b.length());
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники