본문 바로가기
IT/자바

[자바 예제] 두 변수의 값 서로 바꾸기

by 모찌 2018. 8. 21.





두 변수의 값을 교환하는 예제를 알아봅시다.




두 변수의 값 교환하기


public class Ex1 {

public static void main(String[] args) {

//변수 num1, num2, temp를 선언합니다.

int num1 = 1;

int num2 = 2;

int temp = 0;

System.out.println("num1 = "+num1+" num2 = "+num2);

temp = num1;           //temp = 1

num1 = num2;          //num1 = 2

num2 = temp;          //num2 = 1

System.out.println("num1 = "+num1+" num2 = "+num2);

}

}



변수 num1의 값은 1, 변수 num2의 값은 2 입니다. 


만약 아래처럼 직접 바꿔 버리면,



num1 = num2; //num1에는 num2의 값인 2이 저장 된다.

num2 = num1; // 윗줄에서 num1에 2이 저장 되었기 때문에 num2 역시 2이 저장된다.


이렇게 직접 바꿔 버리면 num1, num2 모두 2의 값을 저장하게 됩니다. 우리가 원하는 결과가 아닙니다.


임시로 저장할 temp 변수를 하나더 선언합니다.

temp 변수에 num1의 값을 먼저 저장합니다. temp 변수에는 1이 저장됩니다.

그 후, num1에 num2의 값을 저장합니다. num1에는 2가 저장됩니다.

다음으로 num2에는 temp 변수의 값을 저장합니다. num2에는 1이 저장 됩니다.



결과


num1 = 1 num2 = 2

num1 = 2 num2 = 1




최종적으로 num1에는 2가 저장되고, num2에는 1이 저장되어 두 변수의 값이 잘 바뀐것을 볼 수 있습니다.







댓글