자료형 변수명;
자료형 변수명 = 값;
영문 대소문자 & 한글
특수문자 : 밑줄(_), 달러($)
아라비아 숫자 (첫글자에는 불가)
예약어 X (class, public, int...)
선언된 시점부터 자신이 소속된 중괄호 내에서만 생존 가능
기본 자료형 | 참조 자료형 | ||
---|---|---|---|
참 & 거짓 | boolean | 객체 | 배열 |
정수 | byte | 클래스 | |
short | 인터페이스 | ||
int | |||
long | |||
실수 | float | ||
double | |||
문자 | char |
자바의 메모리 구조는 3개의 영역으로 구분
기본자료형은 스택영역에서 변수에 실제 변수값 저장
참조 자료형은 힙 영역에 실제 값을 저장하고, 변수에는 값이 저장된 위치 값을 저장
종류 | 자료형 | byte 크기 | 값 |
---|---|---|---|
부울대수 | boolean | 1 | true / false |
정수 | byte | 1 | -2^7 ~ 2^7-1 |
short | 2 | -2^15 ~ 2^15-1 | |
int | 4 | -2^31 ~ 2^31-1 | |
long | 8 | -2^63 ~ 2^63-1 | |
실수 | float | 4 | 가수 : 23 / 지수 : 8 |
double | 8 | 가수 : 52 / 지수 : 11 | |
문자 | char | 2 | 0 ~ 2^16-1 |
char형에 유니코드 값 대입시 -> '\u+16진수'
2진수 -> 0b
8진수 -> 0
16진수 -> 0X
변수 = (변수와 같은 자료형) 값
float -> F/f
long -> L/l
업캐스팅 (큰 자료형 = 작은 자료형) 을 만족할 때, 자동적으로 타입 변환
double b = 3; // 3은 int형 이지만, 자동타입변환이 되어 double로 들어감
다운캐스팅 (작은 자료형 = 큰 자료형) 을 만족할 때, 직접 명시를 통해 타입 변환
데이터 손실이 발생할 수 있다.
int a = (int)3.5
// 데이터 손실로 인해 a에 3값이 들어가짐
// 값의 범위가 맞지 않는 경우 오버플로우 & 언더플로우 발생하여 값의 차이가 생김
byte b = 130
// => b = -126
byte c = -130
// => c = 126
피 연산자 중 큰 자료형에 의해 결과 값의 자료형이 정해짐
int + int => int int + double => double float + double => double....
출처 : Do it! 자바 완전정복 2장