Java 변수 값 교환

두 개의 변수를 서로 값을 변환하여 출력한다.

예: 변수 x의 값 10, 변수 y의 값 20일 때, x=10와 y=20를 서로 교환하여 x=20, y=10로 출력한다

public class Logical1 {
    public static void main(String[] args) {
        int x = 10;
        int y = 20;

        System.out.println("x의 값: " + x);
        System.out.println("y의 값: " + y);

        {
            int z;
            z = x;
            x = y;
            y = z;
        }
        
        System.out.println("x 와 y 값 swap");
                System.out.println("x의 값: " + x);
        System.out.println("y의 값: " + y);
    }
}

출력

x의 값: 10
y의 값: 20
x 와 y 값 swap
x의 값: 20
y의 값: 10

풀이

  • int x; int y; 변수를 선언하였다.
  • swap 용도로 사용할 int z;를 추가로 선언한다.
  • 코드 z = x;
  • swap 용도로 사용하는 변수 z를 x를 대입한다.
  • 변수 z = 10 값을 갖게 한다.
  • x=10, y=20, z=10
  • 코드 x = y;
  • x의 값을 z를 갖게 되었으므로 이제 x의 기존 값은 필요없다.
  • x의 값을 y를 대입한다.
  • x=20, y=20, z=10
  • 코드 y = z;
  • y의 값을 x의 값이었던 z를 대입한다.
  • x=20, y=10, z=10
  • 이후 코드 블록이 끝내 임시로 사용하던 변수 z를 메모리 반환을 해주도록 한다.