(1) 변수
- 변수는 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름이다.
- 프로그램은 변수를 통해 메모리의 특정 번지에 값을 저장하고 읽을 수 있다.
1) 변수 선언과 값 저장
변수를 사용하기 위해서는 먼저 변수를 선언해야 하는데 변수에 어떤 타입의 데이터를 저장할 것인지, 그리고 변수 이름이 무엇인지를 결정한다.
변수 선언은 다음과 같이 합니다.
데이터타입 변수명;
변수명 = 값; // 변수 선언 이후 별도로 변수에 값을 저장하는 방법
데이터타입 변수명 = 값; // 변수 선언과 동시에 변수에 값을 저장하는 방법
데이터타입 변수명, 변수명, 변수명, ... ;
// 같은 타입의 변수는 콤마를 이용하여 한꺼번에 선언할 수 있다
예)
int age;
double value;
int age = 20;
int x, y, z;
변수 이름은 자바 언어에서 정한 명명 규칙을 따라야 하는데 , 이는 다음과 같습니다.
| 작성 규칙 | 예 |
| 첫 번째 글자는 문자이거나 '$', '_' 이어야하고 숫자로 시작할 수 없으며, 특수 문자가 포함되면 안된다 | 가능: banana , $banana, _bananaName 불가능 : 1banana , @apple , $#mango |
| 영어 대소문자를 구분한다 | firstname 과 firstName은 다른 변수 |
| 첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫문자를 대문자로 한다 | firstName , everyTime , whiteChocolateBar |
| 문자 수(길이)의 제한은 없다 | |
| 자바 예약어는 사용할 수 없다 |
자바 예약어란 이미 해당 프로그래밍 언어에서 의미를 갖고 사용되고있는 단어로, 변수 이름으로 사용할 수 없다
자바 예약어는 다음과 같다
| 분류 | 예약어 |
| 기본 타입 | boolean, byte, char, short, int, long, float, double |
| 접근 제한자 | private, protected, public |
| 클래스와 관련된 것 | class, abstract, interface, extends, implements, enum |
| 객체와 관련된 것 | new, instanceof, this, super, null |
| 메소드와 관련된 것 | void, return |
| 제어문과 관련된 것 | if, else, switch, case, default, form do, while, break, continue |
| 논리값 | true, false |
| 예외 처리와 관련된 것 | try, catch, finally, throw, throws |
| 기타 | package, import, synchronized, final, static |
2) 변수 사용 범위 (유효 범위)
변수 자신이 선언된 범위에서만 사용이 가능하다 (stack, 중괄호로 묶여진 범위 내에서만 사용 가능)
stack : 데이터를 저장하는 입구와 출구가 같아 데이터를 순서대로 저장하고 순서대로 꺼낸다
(LIFO 구조 : Last In First Out , 마지막에 들어온 것이 가장 먼저 나간다 > 임시로 변수를 저장할 때 주로 사용한다)
class Var2 {
public static void main(String[] args) {
int a = 10;
{
int b = 20; // 지역변수 : 이 변수는 선언된 블럭 안에서만 쓸 수 있다
{
int c = 30; // 가장 나중에 저장된 값 -> 가장 먼저 꺼냄
java.lang.System.out.println(c);
java.lang.System.out.println("-------------------");
}
//java.lang.System.out.println(c); // 여기서 꺼낼올수 없음 -> c가 선언된 블럭과 다른 블럭이기 때문
java.lang.System.out.println(b);
java.lang.System.out.println("-------------------");
}
java.lang.System.out.println(a);
}
}
[출력 결과]

'BackEnd > JAVA' 카테고리의 다른 글
| [MyBatis] MyBatis 란? (2) | 2024.11.08 |
|---|---|
| 2-2 데이터 타입과 타입 변환 (4) | 2024.10.06 |
| 1. eclipse & jdk설치 및 환경 설정 (5) | 2024.10.05 |