변수는 크게 문자와 숫자 그리고 논리로 나눌 수 있고 숫자는 정수와 실수로 나눈다
변수는 기본형과 참조형이 있다
#기본형 (boolean, char, byte, short, int, long, float, double)
#참조형 (System, String 등등) - 메모리 주소를 저장 4 or 8 byte 하고 객체의 주소를 저장
기본형의 크기 (1byte = 8bit, 1bit = 2진수 1자리)
논리형 - boolean { false, true } = 1byte
문자형 - char = 2byte
정수형 - byte = 1byte, short = 2byte, int = 4byte, long = 8byte
실수형 - float = 4byte, double = 8byte
*디폴트
기본형의 표현 범위
- 부호 있는 정수의 범위
2ⁿ-¹ ~ 2ⁿ-¹ - 1
#1byte = 8bit > -128 (2의7승) ~ 127 (2의7승 - 1)
*128 + 128 = 256 (2의8승)
*127인 이유는 0을 포함하기 때문
*모든 정수, 실수에는 부호가 포함된다
- 부호 없는 정수의 범위
0 ~ 2ⁿ - 1
#char = 16bit > 0 ~ 65535 (2의16승 - 1)
Float vs Double
Float와 Double은 지수와 가수로 이루어져 있다
Float - 4byte { 32bit } = 부호(1) + 지수(8) + 가수(23)
Double - 8byte { 64bit } = 부호(1) + 지수(11) + 가수(52)
*Float는 Double보다 정밀도가 떨어진다