스터디할래 / 자바 스터디 과제 #2 자바 데이터 타입, 변수 그리고 배열
참거짓, 문자, 숫자, 소수점의 형태가 있음
true
혹은false
1byte
(가장 작은 크기)(2^8)
유니코드 문자 1글자의 크기인
2byte
(2^16)
1byte
(2^8)
2byte
(2^16)
4byte
(2^32) = 2^10 * 2^10 * 2^10 * 2 = 1024 * 1024 * 1024 * 2 = 약 2 * 10^9 = 21억
참고로 int의 양수의 최대 값에서
+1
을 하면 음수의 최솟값이 나온다.
2147483647 + 1 = -2147483648
8byte
2^64
약 900경
4byte
실수를 부동소수점(floating-point
)으로 저장1.4*(10^-45) ~ 3.4*(10^38)
(-
취해 음수도 가능)
8byte
4.9*(10^-324) ~ 1.8*(10^308)
프리미티브 타입은 실제 값을 저장함
값이 저장되어 있는 메모리 주소(4byte
)를 저장함
상수의 또 다른 이름, 변수나 상수에서 값 그 자체를 의미하는 것.
실무에서 많이 쓰는 '하드코딩' 이라는 말은 상황에 따라 바뀌는 변수로 만든 것이 아니라 리터럴로 표현했다는 것을 의미한다.
int a = 100 // 100이 리터럴
final int A = 200 // 200이 리터럴
int a; // 변수 선언
int b = 0; // 선언 및 초기화
일반적으로 블록 스코프{}
를 따른다.
단, static으로 선언되면 프로그램이 끝날 때까지 메모리에 상주한다.
추가로 변수들은 메모리 영역 중 Stack
영역에 저장된다.
단, Object
의 경우는 내용은 Heap
에 저장되며, 주소 값을 가진 참조는 Stack
영역에 저장된다.
참조 : https://yaboong.github.io/java/2018/05/26/java-memory-management/
타입 캐스팅은 두가지 종류가 있다.
여기서 표현 범위란, 정수 실수 등을 포함하는 개념이기 때문에 단순히 바이트 크기가 아니다.
type inference
기능 추가실질적으로 var
갖다쓰라고 나왔다기보다는 Map
이나 List
쓸 때 문법 깔끔하게 쓰라고 나온듯 함.