Обмен значений переменных в Java

Обмен значений переменных — введение в Java 024 #

Допустим у нас есть переменная A со значением 5 и переменная B со значением 3. И нам нужно поменять значения у переменных местами. Это достаточно часто используемая операция и есть далеко не один способ её реализации.

int a = 5;
int b = 7;
int temp = a;
a = b;
b = temp;

Мы создаём дополнительную переменную. Передаём ей временно для хранения значение A, в само A передаём значение B. В B присваиваем значение, которое у нас хранится во временной переменной.

Существуют способы поменять их местами не создавая новую переменную.

public class Main {
    public static void main(String[] args) {
        int a = 5;
        int b = 3;
        // меняем местами пошагово
        a = a + b;
        b = a - b;
        a = a - b;
        // меняем местами в одну строчку.
        a = a + b - (b = a);
        // меняем местами пошагово с помощью XOR
        a = a ^ b;
        b = b ^ a;
        a = a ^ b;
    }
}

Вариант с созданием дополнительной переменной легко читаемый и понятный всеми вариант.

Домашнее задание #

  • Попробуйте дополнительно поменять местами переменные используя другие арифметические операторы.
comments powered by Disqus