boolean flag = true; // 1. 논리형 변수 boolean 으로 선언 및 True 값으로 초기화
flag = false; // 2. False 값으로도 저장할 수 있습니다.
char alphabet = 'A'; // 문자 하나를 저장합니다.
💁♂️ 그렇기 때문에 각 변수들의 표현 범위를 잘 알아야 버그가 생기지 않습니다!
- byte : -128 ~ 127 범위의 숫자만 저장 가능합니다. - short (2byte)는 -32,768~32,767 범위의 숫자만 저장 가능합니다. - int (4byte)는 -21억~21억 범위의 숫자만 저장 가능합니다. - long (8byte)은 9백경 정도의 매우 큰 수를 저장 가능합니다. - int 와 long의 데이터 값(리터럴)을 구분하기 위한 구분자로 long으로 담을 숫자 뒤에 L을 붙입니다. ``` byte byteNumber = 127; // byte 는 -128 ~ 127 범위의 숫자만 저장 가능합니다.short shortNumber = 32767; // short 는 -32,768~32,767 범위의 숫자만 저장 가능합니다.
int intNumber = 2147483647; // int 는 -21억~21억 범위의 숫자만 저장 가능합니다.
long longNumber = 2147483647L; // long 은 숫자뒤에 알파벳 L 을 붙여서 표기하며 매우 큰수를 저장 가능합니다.
4. 실수형 변수 : float, double (0.123, 0.99999 와 같은 소수점 실숫값을 저장합니다.)
<aside>
📌 실수도 동일하게 각 변수 표현 범위를 넘는 숫자를 넣게 되면 오버플로우가 발생하고, 해당 숫자를 출력해 보면 입력값과 다른 값으로 표현됩니다.
특히, 실수는 표현 범위가 매우 넓어서 정수형 변수에서 담지 못할 수 있습니다.
</aside>
- float (4byte) : `3.4 * -10^38` ~ `3.4 * 10^38`(long 보다 큼) 범위의 숫자 저장이 가능합니다.
- double (8byte) : `1.7 * -10^308` ~ `1.7 * 10^308`(long 보다 큼) 범위의 숫자 저장이 가능합니다.
- float 와 double의 데이터 값(리터럴)을 구분하기 위한 구분자로 float으로 담을 숫자 뒤에 f를 붙입니다.
- float는 소수점 7자리까지 double은 소수점 16자리까지 저장(표현) 가능합니다.
float floatNumber = 0.123f; // float 는 4byte 로 3.4 10^38 범위를 표현하는 실수값
double doubleNumber = 0.123123123; // double 은 8byte 로 1.7 10^308 범위를 표현하는 실수값
5. 참조형 변수 > 문자열 변수 : String (“Apple”, “텍스트” 와 같은 문장을 저장합니다.)
String message = "Hello World"; // 문자열을 저장합니다.
- 그 외 : Object, Array, List … (객체, 배열, 리스트와 같은 단일 저장공간에 담을 수 없는 값을 저장합니다.)
List alphabet = [0,1,2,3]; // 기본형 변수 여러개를 저장합니다.