variable
변수란, 값을 저장할 수 있는 메모리 공간이다.
int a;
double number;
char charc;
boolean isCheck;
- 메모리 공간 속에 int라는 타입에 a라는 이름의 변수를 선언
- 메모리 공간 속에 double이라는 타입에 number라는 이름의 변수를 선언
- 메모리 공간 속에 char라는 타입에 charc라는 이름의 변수 선언
- 메모리 공간 속에 boolean 타입의 isCheck라는 이름의 변수 선언
int a = 10;
숫자를 보관할 수 있는 데이터 저장소인 변수 a에 10이라는 값을 저장한다.
int a;
만약 초기화 되지 않은 상태로 읽게 된다면 오류가 발생하므로 주의하자. (null값)
int : 정수를 다룬다. (1, 100, 1000...)
double : 실수를 다룬다. (0.2, 1.5, 100.121...)
boolean : 불리언 타입 (true, false 값만 사용)
char : 문자 하나를 다룬다. ('A', '가'...)
String : 문자열을 다룬다. ("hello", "java"...)
기본적으로 정수에서는 int, 실수에서는 double이다.
문자(Char)
문자열(String)
메모리 공간 크기
정수형
byte : -128 ~ 127 (1byte)
short : -32,768 ~ 32,767 (2byte)
int : -2,147,483,648 ~ 2,147,483,647 (약 20억) (4byte)
long : -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 (8byte)
실수형
기타
참조변수
프로그래머가 직접 만들어서 사용할 수 있음, 기본형을 제외한 나머지
참조형은 어떤 값이나 형식이 저장되어 있는 주소를 값으로 가진다.
기본형을 제외한 나머지를 의미한다.
String, Array, Object.. 등
리터럴 (Literal)
코드에서 개발자가 직접 적은 값 (100, 10.5 ..) 와 같은 고정된 값을 리터럴 이라고 한다.
래퍼 클래스(Wrapper Class)란 기본형 변수를 감싸는 클래스를 의미한다.
기본 타입 | 래퍼 클래스 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
박싱 : 기본 타입에서 래퍼 클래스 변수로 변수를 감싸는 것
언박싱 : 래퍼 클래스 변수를 기본 타입 변수로 가져오는 것
byte(1) -> short(2) -> int(4) -> long(8) -> float(4) -> double(8)
해당 순위로 크기가 큰 단위이다.
작은 단위 -> 큰 단위로 이동할 때 자동으로 형변환이 이루어진다.
큰 단위 -> 작은 단위로 이동할 때, 형변환을 개발자가 직접 해줘야한다.
규칙
변수 이름은 숫자로 시작할 수 없다.
이름에는 공백이 들어갈 수 없다.
자바의 예약어를 변수 이름으로 사용할 수 없다.
변수 이름에는 영문자, 숫자, 달러 기호($) 또는 밑줄(_)만 사용할 수 있다.
관례