int x=10, int y=20; 일 때,
두 변수에 담긴 값을 서로 바꾸려면 어떻게 해야 할까?
1. 변수 y에 저장된 값을 변수 x에 저장
x=y;
x=10, y=20;
→
x=20, y=20;
2. 변수 x에 저장된 값을 변수 y에 저장
y=x;
x=20, y=20;
→
x=20, y=20;
첫 번째 단계에서 y의 값을 x에 저장할 때, 이미 x의 값이 없어졌기 때문에 x의 값을 y에 저장해도 소용이 없다.
두 변수에 담긴 값을 서로 바꾸려면
임시 저장소로 사용할 변수 'tmp'를 넣어주면 된다.
1. 변수 x에 저장된 값을 변수 tmp에 저장
tmp=x;
x=10, tmp=?;
→
x=10, tmp=10;
2. 변수 y에 저장된 값을 변수 x에 저장
y=x;
x=10, y=20;
→
x=20, y=20;
3. 변수 tmp에 저장된 값을 변수 y에 저장
y=tmp;
y=20, tmp=10;
→
x=20, y=10;
- 예제 VarEx2.java
public class VarEx2 {
public static void main(String[] args) {
int x = 10, y = 20;
int tmp; // x값을 임시로 저장할 변수
System.out.println("x:" + x + "y:" + y);
tmp = x;
x = y;
y = tmp;
System.out.println("x:" + x + "y:" + y);
}
}
참고문헌 : 남궁성(2016), Java의 정석, 도우출판