변수 : 변하는 수 또는 변하는 값을 넣는 공간. 변수는 정수, 실수 등 다양한 타입의 값을 저장한다. 또한 그 변수의 용도에 맞는 값을 넣어 주어야 한다.
변수 선언 : 변수에 어떤 타입의 데이터를 저장할 것인지, 변수 이름은 무엇인지를 결정한다. ex) int 나이 -> 정수(int)를 저장할 수 있는 나이라는 변수를 선언
변수 이름의 규칙
첫번째 글자는 문자 or $ or _, 숫자로는 시작할 수 없다
두번째 이후의 글자는 숫자 or .문자 or $ or _
영어는 대소문자를 구분한다
자바 예약어는 사용할 수 없다. 예약어 : package, public, class, static, void, int.
값 저장 : 변수를 선언하면 =을 사용해서 오른쪽의 값을 왼쪽 변수에 저장 int age; //변수 선언 score = 20; //값 저장
변수 초기화 : 변수에 최초의 값이 저장되면 메모리에 변수가 생성되는데 이를 변수 초기화라고하며, 이때의 값을 초기값이라고 한다. 초기화를 하지 않은 변수는 메모리에서 값을 읽을 수 없다. int value; //변수 선언 int result = value + 10; //변수 value를 초기화하지 않아 값을 읽을 수 없으므로 result에도 값을 저장할 수 없다.
int value = 100; int result = value + 10; //변수 value의 값을 읽어서 result에 계산한 값을 저장 할 수 있다.
변수 사용 범위 : 자신이 선언된 위치에서 자신이 속한 블록 내부안에서만 사용이 가능하다.
y=x; System.out.println("x:" + x + ",y:"+y); 실행결과 : x:10,y:5
x:10,y:10
변수값 교환
publicstaticvoid main(String[] args) { intx = 10; inty = 5; inttemp = x; //x의 값을 복사하여 새로운 변수 temp에 저장 x=y; y=temp; System.out.println("x:" + x + ",y:"+y); } 실행결과 : x:5,y:10
로컬변수 : 메소드 블록 내에 선언된 변수. 로컬변수는 메소드 블록내에서만 사용되고 메소드 실행이 끝나면 메모리에서 자동으로 삭제된다. 변수는 자신이 선언된 위치로부터 자신이 속한 블록 내부에서만 사용가능하므로 메소드 블록 전체에서 사용을 하고 싶다면 메소드 첫 머리부분에서 변수를 선언해야한다.
publicclass Ex04_Varscope { publicstaticvoid main(String[] args) { intv1 = 20; //main메소드 안에서 사용 가능 if(v1>10) { intv2; v2 = v1 - 10; //main메소드 안에 있으므로 v1 사용 가능 System.out.println(v2); } //여기는 매소드 블록이므로 v2변수 사용 불가능 } //여기는 클래스 블록이므로 v1변수 사용 불가능 } 실행결과 : 10