- 자바는 파이썬과 달리 변수를 선언할 때, 변수의 데이터 타입을 따로 지정해야한다.
- 배열을 선언할 때도 마찬가지다.
변수 데이터 타입
정수형
int
byte
short
- C언어와의 호환용
- -2^31 ~ 2^31-1
- 2bytes
long
실수형
float
double
문자형
char
- '\u0000' ~ '\uffff'
- 16bytes
논리형
boolean
형변환
double a = 12.23;
int b = (int)a;
(데이터타입)변수명 을 통해 형변환 가능하다.
배열
데이터타입 [] 변수명 = new 데이터타입[길이];
프리미티브 타입과 레퍼런스 타입
프리미티브 타입: 기본형
- 위의 변수 데이터 타입처럼 실제로 저장하는 값.
레퍼런스 타입: 참조형
- 객체의 주소를 저장함. Java.lang.Object를 상속받는 경우.
- 기본형을 제외한 다른 변수 종류
리터럴
int a = 1;
에서 int는 변수의 데이터 타입, a는 변수명, 1은 리터럴.
변수 스코프
인스턴스 변수
- 클래스 영역에 선언. 클래스 인스턴스 생성 시 만들어짐.
- 인스턴스 생성 후, 인스턴스 변수 값 읽거나 저장 가능.
- 인스턴스가 생성될 때마다 인스턴스 별로 초기화
- 기본값 - 명시적 초기화 - 인스턴스 초기화 블록 - 생성자
클래스 변수
- 멤버변수에 static 키워드를 붙임.
- 한 클래스의 모든 인스턴스가 값을 공유. 전역변수.
- 클래스 처음 로딩 시, 단 한 번 초기화.
- 기본값 - 명시적 초기화 - 클래스 초기화 블록
지역 변수
String
- char 는 '작은따옴표' 로 선언하지만, String은 "큰따옴표"로 선언한다.
Date