"변수란, 단 하나의 값을 저장할 수 있는 메모리 공간"
위는 age라는 이름의 변수를 선언한 것이다.
변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 크기의 저장공간이 확보되고, 앞으로 이 저장공간은 '변수이름'을 통해 사용할 수 있게 된다.
"변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는것."
변수를 선언한 이후부터는 변수를 사용할 수 있으나, 그 전에 반드시 변수를 '초기화' 해야한다.
ex) int age = 25;
지역변수는 사용되기 전에 반드시 초기화를 해야 하지만 클래스변수와 인스턴스변수는 초기화를 생략할 수 있다. 변수의 초기화에 대해서는 후에 자세히 다루겠다.
int a,b; int x = 0, y = 0;
✨ 예제 1
public class variable {
public static void main(String[] args) {
int year = 0;
int age = 14;
System.out.println(year);
System.out.println(age);
year = age + 2000; // 변수 age의 값에 2000을 더해서 변수 year에 저장
age = age +1; //변수 age에 저장된 값을 1 증가시킨다.
System.out.println(year);
System.out.println(age);
}
}
# 출력결과
0
14
2014
15
▶ 두 변수의 값 교환하기
다음과 같이 변수 x, y가 있을 때, 두 변수에 담긴 값을 서로 바꾸려면 어떻게 해야 할까? 예제를 통해 알아보자.
✨ 예제 2
public class var2 {
public static void main(String[] args) {
int x = 10, y = 20;
int tmp = 0;
tmp = x;
x = y;
y = tmp;
System.out.println("x:" + x + " y:" + y);
}
}
# 출력결과
x:20 y:10
1. 대소문자가 구문되며 길이에 제한이 없다.
-True와 true는 서로 다른 변수이다.
2. 예약어는 사용할 수 없다.
-true 는 예약어기 때문에 사용할 수 없다.
3. 숫자로 시작할 수 없다.
-7top은 허용할 수 없다.
4. 특수문자는 '_'와 '$'만을 허용한다.
-S#arp는 허용되지 않고, $harp는 허용된다.
그 외의 권장규칙은 다음과 같다.
1. 클래스 이름의 첫 글자는 항상 대문자로 한다.
-변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.
2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
-lastIndexOf, StringBuffer
3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.
-PI, MAX_NUMBER
변수의 이름은 짧을수록 좋지만, 약간 길더라도 용도를 알기 쉽게 '의미있는 이름'으로 하는 것이 바람직하다.
자바의 정석(저자: 남궁성)
파이썬을 배웠던터라 자바의 내용이 좀 더 쉽게 다가온다.
언어 하나를 할 줄 알면 다른 언어는 배우기 좀 더 편하다는 말이 있는데 왜 그런지 실감하는 중..
다만, 파이썬에서 신경쓰지 않아도 됐던 것들을 자바에서는 더 신경써야 한다.
세미콜론이라든지, 변수 타입 지정이라든지.
아 충격적이었던건 자바에서는 ''와 ""가 다르다는 것이다.
오류메세지로 Invalid character constant가 떠서 구글에 검색하니 따옴표 오류라고..
또 고민인건 이클립스에서 코드를 작성한 후에 포스트에 옮겨적는데 다음부터는 캡처해서 이미지로 올릴까 고민중.. 후에 코드를 따가는데는 글로 작성하는게 복사하기 편하지만 예제가 많아질수록 사진이 작성에 더 편할 것 같다.
다음 포스팅은 변수의 타입에 대해 알아보겠다.