변수(Variable)는 (문자나 숫자 같은) 데이터를 담는 컨테이너(저장소)다. 여기에 담겨진 데이터는 다른 데이터로 바꿀 수 있다. 변수에 담을 수 있는 데이터의 종류는 데이터 타입으로 정해져 있다.
정수 타입
다음 예제는 변수에 값을 대입하는 방법을 보여주는 예제다.
int
a;
a =
1
;
System.out.println(a+
1
);
//2
a =
2
;
System.out.println(a+
1
);
//3
int a;
위의 구문은 변수 a를 지금부터 사용하겠다고 변수를 선언한 것이다. 변수 a 앞에는 int라는 키워드가 있다. 이 키워드는 integer의 약자로 한국어로는 정수라는 의미다. 위의 코드는 변수 a가 정수를 담는 그릇임을 명시한 것이다. 이 변수를 사용하는 입장에서는 이 변수 안에 들어있는 데이터가 틀림 없이 정수라는 것을 확신할 수 있게 된다.
a = 1;
좌항의 변수 a의 데이터(값)가 1이라는 의미다. a에 숫자 1을 대입한 것이다. 이제부터 a 안에는 1이 들어있다. 이러한 것을 변수 a에 숫자 1을 할당했다고 한다.
코맨트 : //은 주석(comment)으로 코드에 부가적인 설명을 쓰거나 사용하지 않는 코드를 비활성화시키기 위해서 사용한다. 뒤에 따라오는 내용은 컴파일러에 의해 해석되지 않는다.
세미콜론(;)은 하나의 구문이 끝났음을 명시적으로 나타내는 기호다. 다음처럼 한줄에 여러구문을 사용하고 싶을 때 세미콜론이 유용하다.
int a; a = 1; System.out.println(a+1); //2
자바에서는 세미콜론을 생략할 수 없다.
실수
아래 예제는 변수에 실수를 담는 방법이다.
double
a =
1.1
;
System.out.println(a+
1.1
);
// 2.2
a =
2.1
;
System.out.println(a+
1.1
);
// 3.2
이번에는 변수 a의 앞에 double이 붙었다. double이 붙으면 변수가 실수를 담는 그릇이라는 의미가 된다.
아래의 예제는 에러가 발생한다.
1
2
|
int a = 1.1 ; System.out.println(a+ 1.1 ); |
위의 코드에서 에러가 발생하는 이유는 변수 a는 정수(int)인데 값으로 1.1이라는 실수를 대입하려고 했기 때문이다. 형식에 맞지 않는 값을 변수에 대입하려고 했기 때문에 오류가 난 것이다. 즉 자바에서 변수는 어떤 값을 저장하는 컨테이너인데, 컨테이너를 생성할 때 지정한 데이터 형식에 맞는 데이터를 입력해야 한다.
문자열
변수의 한자는 變數이다. 즉 변할 수 있는 수라는 뜻이다. 하지만 한자의 의미와 다르게 프로그래밍에서의 변수에는 다양한 데이터 형이 담겨질 수 있다. 다음 예제는 변수의 값이 꼭 숫자가 와야 하는 것은 아니라는 것을 보여주기 위해서 만든 예제다.
1
2
|
String first = "coding" ; System.out.println(first+ " " + "everybody" ); |
문자열을 변수에 담을 때는 위와 같이 변수의 이름 앞에 String을 붙여준다.
아래와 같이 여러개의 변수(a,b)를 동시에 선언 할 수도 있고, 선언과 초기화를 동시에 할 수 있다.