변수란 하나의 값을 지정할 수 있는 메모리 공간을 말한다.
변수는 다음과 같이 선언한다.
타입 변수이름;
'타입'을 쓰고 한칸 띄우고 '변수이름'을 쓰고 ';'(세미콜론)을 쓰면 된다.
ex) int age;
double value;
변수이름을 명명 할 때는 몇 가지 규칙을 지켜야 한다.
1. 첫번째 글자는 문자이거나 $, _ 를 사용할 수 있다. 숫자로 시작할 수 없고, 특수문자는 사용할 수 없다.
2. 영어 대소문자는 구분된다.
3. 첫 문자는 영어 소문자로 시작한다. 뒤에 다른 단어가 붙을 경우에는 첫 글자를 대문자로 쓴다.
4. 문자 길이의 제한은 없다.
5. 자바 예약어는 사용할 수 없다.
변수값은 어떻게 저장하나?
int score;
라고 변수를 선언하면,
score=90;
int score=90;
이 두 방법 다 변수값을 저장하는 방식이다.
여기서 =은 수학에서 '같다'는 의미인데, Java에서는 '대입한다', '저장한다'의 의미이다.
= 을 '대입 연산자'라고 부른다.
변수는 초기화가 되어 있어야 읽을 수 있다.
초기화 되지 않은 변수는 읽을 수 없다.
예를 들어,
int score;
라고 변수를 선언하고 score에 대한 변수값을 초기화 하지 않으면, 읽을 수가 없다.
초기화란 최초로 변수값을 저장하는 행위를 말한다.
예를 들어,
int value = 30;
이라고 했을 때, 이것은 변수 value 가 30으로 초기화 된 것을 일컫는다.
int result = value + 10;
이라면, '변수 value값을 읽고 10을 더한 결과값을 변수 result에 저장하라'는 뜻이다.
여기서 value는 값을 저장할 목적이 아닌, 읽을 목적으로 선언된 것이다.
위 설명을 바탕으로 짠 코딩을 아래에서 확인할 수 있을 것이다.
한편, 변수는 자신이 선언된 블록 내에서만 사용이 가능하다.
메소드 블록 내에서 선언된 변수는 메소드 블록내에서 사용할 수 있지만, if나 for문 내에서 선언된 변수는 그 블록 내에서만 사용가능하다.