본문 바로가기
Language/Java

[Java] 두 변수의 값 바꾸기

by DevPark 2023. 1. 11.

두 변수의 값 교환하기

 

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에 저장한다. 

Java 두 변수의 값 바꾸기 도식

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이 된다. 

 

출처 : 

https://youtu.be/Hhg1YU5598k

반응형

'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

댓글