변수명
int a;
String b;
int one;
String two;
위와 같은 a, b를 변수(variable)라고 한다.
변수의 이름은 프로그래머가 마음대로 지을 수 있다. a, b라는 이름으로 지을 수도 있고 one, two라는 이름으로도 지을 수 있다.
단, 변수의 이름을 지을 때는 다음과 같이 지켜야 할 몇가지 규칙이 있다.
- 변수명은 숫자로 시작할 수 없다.
- _(underscore) 와 $ 문자 이외의 특수문자는 사용할 수 없다.
- 자바의 키워드는 변수명으로 사용할 수 없다. (예: int, class, return 등)
자바의 키워드
abstract | continue | for | new | switch |
assert | default | goto | package | synchronized |
boolean | do | if | private | this |
break | double | implements | protected | throw |
byte | else | import | public | throws |
case | enum | instanceof | return | transient |
catch | extends | int | short | try |
char | final | interface | static | void |
class | finally | long | strictfp | volatile |
const | float | native | super | while |
다음은 변수명을 잘못 사용한 예이다.
int 1st; // 변수명은 숫자로 시작할 수 없다.
int a#; // 변수명에 특수문자를 사용할 수 없다.
int calss; // 키워드를 변수명으로 사용할 수 없다.
자료형(Type)
변수명 앞의 int, String 등은 변수의 자료형(Type)을 뜻한다.
int a; 라는 문장은 다음과 같이 해석된다.
"변수 a는 int 자료형 변수이다." 즉, a라는 변수에는 int 자료형 값(예 : 1, 10, 35 등의 정수)만 담을 수 있다.
String b; 라는 문장은 다음과 같이 해석된다.
"변수 b는 String 자료형 변수이다." 즉, b라는 변수에는 String 자료형 값(예 : "a", "hello" 등의 문자열)만 담을 수 있다.
변수에 값 대입하기
int a;
String b;
a = 1;
b = "hello java";
변수에 값을 대입할 때는 위의 예에서와 같이 =(assignment) 기호를 사용한다.
a = 1; 이라는 문장은 다음과 같이 해석된다.
"int 자료형 변수 a에 1 이라는 값을 대입한다."
b = "hello java"; 라는 문장은 다음과 같이 해석된다.
"String 자료형 변수 b에 "hello java" 라는 값을 대입한다."
다음과 같이 변수를 선언함과 동시에 값을 대입할 수도 있다.
int a = 1;
String b = "hello java";
만약 int 자료형 변수인 a에 문자열을 대입하면
int a = "Hello java";
IDE에서는 Type mismatch: cannot convert from String to int 와 같은 오류메세지를 보여준다.
오류메세지는 String 자료형을 int 자료형으로 사용할 수 없다는 오류이다.
자주 쓰이는 자료형
자주 쓰이는 자료형에는 int, String 외에도 많은 자료형이 있다.
- int
- long
- double
- boolean
- char
- String
- StringBuffer
- List
- Map
- Set
예를 들어 StringBuffer, List 자료형에 해당되는 변수는 다음과 같이 만들 수 있다.
StringBuffer sb;
List myList;
"sb 변수는 StringBuffer 자료형 변수이다. sb 변수에는 StringBuffer 자료형에 해당하는 값만 담을 수 있다.", "myList 변수는 List 자료형 변수이다. myList 변수에는 List 자료형에 해당하는 값만 담을 수 있다."
'Language > Java' 카테고리의 다른 글
[Java] 숫자 (Number) (0) | 2022.07.31 |
---|---|
[Java] 명명 규칙 (0) | 2022.07.31 |
[Java] 로또 번호 만들기 (0) | 2022.07.30 |
[Java] 배열 (Array) 기초 (0) | 2022.07.30 |
[Java] Java기초 (0) | 2022.07.30 |