두 변수의 값 교환하기
int x = 10, y = 20;
두개의 변수 x와 y가 선언되어 있고 각각 10과 20으로 초기화 되어 있다.
두 변수에 저장된 값을 바꾸려면, 즉 x의 값이 20이 되고 y의 값이 10이 되게 하려면 어떻게 해야할까?
x = y; // y의 값 20을 x에 저장하면... x의 값이 20이 된다. 변수는 하나의 값 밖에 저장하지 못하므로 기존에 x에 저장되어있던 x의 값은 없어진다.
y = x; // x의 값을 y에 저장해도 y의 값은 똑같이 20이 저장된다.
두 변수의 값이 바뀐게 아니라 둘 다 20이 되어버렸다.
변수는 하나의 값 밖에 저장하지 못하므로 값을 옮겨줄 임시 저장공간을 만들어주어야 한다.
이 임시 저장공간(변수)을 tmp라 정하고 선언해준다.
int x = 10, y = 20;
int tmp; // 임시 저장공간 tmp를 선언해준다.
tmp = x; // x의 값을 tmp에 저장한다.
x = y; // x의 값을 y에 저장한다.
y = tmp; // tmp의 값을 y에 저장한다.
public class ChangeValue {
public static void main(String[] args) {
int x = 10, y = 20;
int tmp;
tmp = x; // 1. x의 값을 tmp에 저장
x = y; // 2. y의 값을 x에 저장
y = tmp; //3. tmp의 값을 y에 저장
System.out.println(x);
System.out.println(y);
}
}
위 예제를 출력하면 x의 값이 20이 되고 y의 값이 10이 된다.
출처 :
반응형
'Language > Java' 카테고리의 다른 글
[Java] 변수 기본형의 종류와 범위 (0) | 2023.01.19 |
---|---|
[Java] 기본형과 참조형 (0) | 2023.01.17 |
[Java] 변수(Variable)-2 (0) | 2023.01.10 |
[Java] 변수(Variable) (1) (0) | 2023.01.03 |
[Java] Java API, 이클립스(Eclipse) (0) | 2023.01.01 |
댓글