Java 변수
변수의 선언(Declare), 초기화(Initialize)와 할당(Allocation) 대표적으로 세가지가 있다.
Java 뿐 아니라 프로그래밍에서 중요한 문법이다.
변수를 배워보기 전에 요구사항이 있다. 확인해보도록 한다.
요구사항
Hello1 클래스에서 숫자 '1'를 다섯 번 출력하는 코드를 기재되었다. 이제는 '1'이 아닌 '20'를 다섯 번 출력하도록 한다면 System.out.println(...) 부분만 '20'으로 모두 변경해야한다. 이렇게 할 경우 실행은 되지만 불필요한 동작이 많을 것이다.
코드를 한 줄만 변경해도 출력 값 다섯번을 출력하고 싶거나 또는 사용자가 직접 입력한 숫자로 다섯 번 호출하는 코드가 필요하다.
요구하고 있는 사항은 다음과 같다
- 코드 한 줄의 숫자만 변경 해도 다섯 번 출력한다.
- 선택사항) 사용자가 직접 입력한 숫자로 다섯 번 출력한다.
위 요구사항을 해결하기 위해서는 데이터를 어딘가에 보관해두고 꺼내서 읽는 저장소가 필요하다.
프로그래밍 언어에서는 변수(variable)라는 기능을 제공해주고 있다. 변수는 데이터를 담을 수 있는 그릇이다.
변수: 변할 수 있는 수
변수 초기화와 할당
변수와 초기화 사용 예제부터 살펴본다.
public class Variable {
public static void main(String[] args) {
int p; // 변수 선언
p = 20; // 변수 초기화 및 할당
System.out.println(p); // 변수 p 읽고 콘솔 출력
}
}
변수를 사용하기 전에 선언을 해주어야 한다.
int p; 변수를 선언하였다.
- 숫자 정수(integer)를 저장하는 int형으로 선언.
- 변수명을 p로 지정하였다.
- 이제 p는 숫자 정수를 담을 수 있다.
p = 20; 할당과 동시에 초기화
- 자바에서 = 연산자는 오른쪽 값을 왼쪽에 저장한다.
- 숫자만 보관하는 변수 p 에 20을 저장한다.
- 선언한 변수를 처음으로 값을 할당하는 것을 초기화라 한다.
System.out.println(p); 변수 p를 읽고 콘솔 출력하기
- 변수를 사용할 때 변수명 p 만 입력하면 읽을 수 있다.
- 실행 시점 변수 p 에는 값 20이 담겨 있으므로 다음과 같이 해석한다.
- System.out.println(20); // p의 값 20으로 변경, 숫자 20출력
- 변수는 반복해서 읽을 수 있다.
변수의 값 변경
변수는 이름 그대로 언제든지 값을 변경할 수 있다.
public class Hello1 {
public static void main(String[] args) {
int p; // 변수 p선언
p = 20; // 변수 p의 값 20으로 할당과 초기화;
System.out.println(p); // 변수 p의 값 20이 들어있음. 20을 출력함
p = 50; // 변수 p의 값 50으로 변경. p(20 -> 50)
System.out.println(p); // 변수 p의 값 50이 들어있음. 50을 출력함
}
}
p = 50; 새로운 값으로 변경 할 수 있다. 새로운 값으로 변경하게 되면 이전의 값 20은 불려올 수 없다.
변수 여러개 선언하기
여러 변수를 한번에 선언하려면 다음과 같이 작성하면 된다.
public class Hello1 {
public static void main(String[] args) {
int p; // 변수 한개 선언
int a; // 변수 한개 선언
int b,c,d; // 변수 3개 선언
}
}
int b,c,d; 처럼 변수 3개를 한꺼번에 선언할 수 있다.
변수 초기화 응용
java 변수 선언과 동시에 초기화를 할 수 있다.
public class Hello1 {
public static void main(String[] args) {
int p = 10; // 변수 한개 선언
System.out.println(p);
}
}
변수 여러개 선언한 것을 응용해볼 수도 있다.
public class Hello1 {
public static void main(String[] args) {
int p = 10; // 변수 한개 선언
System.out.println(p); // 변수 p의 값 10 출력
int a = 20, b = 30, c =40; // 변수 a,b,c 여러개 선언하고 초기화
System.out.println(a); // 변수 p의 값 20 출력
System.out.println(b); // 변수 p의 값 30 출력
System.out.println(c); // 변수 p의 값 40 출력
}
}
Result:
10
20
30
40
요구사항 해결하기
이전에 언급한 과제를 해결할 것이다.
코드 한 줄의 숫자만 변경 해도 다섯 번 출력한다.
Java 코드를 다음과 같이 작성하여 해결하였다.
public class Hello1 {
public static void main(String[] args) {
int p; // 변수 선언
p = 999; // 할당과 초기화; 이 부분만 수정하면 다섯 번 출력한다.
System.out.println(p);
System.out.println(p);
System.out.println(p);
System.out.println(p);
System.out.println(p);
}
}
Line 4 부분에 p = 10; 이 아닌 다른 숫자 값을 할당하면 동일한 값 5번 호출한다.