티스토리 뷰
데이터 타입이란?
- 자료형이라고도 하며, 어떤 값의 유형을 뜻함.
- 데이터 타입에 따라 값이 차지하는 메모리 공간의 크기와, 값이 저장되는 방식이 결정됨.
<정수형 - byte, short, int, long>
소수점 이하를 포함하지 않는 숫자
ex) 1, 2, -5, 100 등
타입 | 메모리 크기 | 저장되는 값의 허용 범위 | |
byte | 1byte | 8bit | -127 ~ 128 |
short | 2byte | 16bit | -32,768 ~ 32,767 |
char(문자형) | 2byte | 16bit | 0 ~ 65535 (유니코드) |
int | 4byte | 32bit | -2,147,483,648 ~ 2,147,483,647 |
long | 8byte | 64bit | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
* 1byte = 8bit
int : 기본 연산 단위이며, 크기는 약 +- 21억까지 사용가능
long : int 값이 아닌 long 타입 값임을 컴파일러에게 알려주기 위해 숫자 마지막에 접미사 L 입력
ex) longBox = 9223372036854775807L;
Tip Bit (비트)
|
<문자형 - char>
문자를 표현하고 처리하기 위해 문자표를 사용
- 크기: 2byte (UTF-8(크기: 1~4 byte 가변))
- ' ' (홑따옴표) 사용
- 문자를 저장하기 위한 변수를 선언할때 사용
- char 타임은 하나의 문자만을 저장할 수 있음.
- 두 개 이상에 문자가 연속된 형태(String)를 문자열이라고 함.( => 문자열은 String class를 사용해야 하며 charBox = '가나'; 대입 불가)
예시)
char charBox;
charBox = 'c';
System.out.println(charBox);
System.out.println((int) charBox);
charBox 출력 시 문자 c 가 출력됨.
(int) charBox 출력 시 문자 c에 해당하는 숫자 99가 출력됨.
인코딩과 디코딩이란? 인코딩(encoding): 이진수 -> 문자형으로 변환 / 정보를 특정 형식으로 변환하는 과정 ex) 01000001 -> A 디코딩(decoding): 문자형 -> 이진수로 변환 / 특정 형식에서 원래의 형식으로 변환하는 과정 ex) A -> 01000001 |
<실수형 - float, double>
정수가 아닌 숫자이며
소수점 이하 값을 가질 수 있는 숫자(유리수, 무리수 포함)
ex) 3.14, 1.732 등
실수형 | 메모리 크기 | 특징 |
float | 4byte | 접미사 F(f) ex) float Box = 0.5f; |
double | 8byte | 기본 연산 단위 이유: 소수점을 더 많이 표현, 값의 정확도 높임 |
<L value 와 R value> L-value는 주로 대입 연산자의 왼쪽에 나타나는 표현식이고 R-value는 "값 그 자체"를 나타냄. ex) int y = 20;에서 20은 R-value임. R-value는 값을 생성하므로 해당 값은 메모리에 저장되어야함. 값을 생성하려면 해당 값을 저장할 메모리 공간이 필요함. 오른쪽에 정수를 사용할 경우 4바이트 크기인 int 형의 데이터 타입을 사용하고, 실수를 사용할 경우 8바이트 크기인 double 형의 데이터 타입을 사용함. |
<논리형 - boolean>
사실을 관찰하고 결과값이 참, 거짓 판별
주로 조건문, 반복문 및 논리 연산과 같은 논리적인 연산에 사용됨
- 크기: 1byte
- boolean(불리언)을 사용하여 변수에 선언함.
예시)
boolean isMarried = false;
System.out.println(isMarried);
// false 출력됨
isMarried = true;
System.out.println(isMarried);
// true 출력됨
'Java' 카테고리의 다른 글
Java(연산자 - 관계(비교), 논리, 빠른 평가, 삼항(조건)) (0) | 2024.04.10 |
---|---|
Java(연산자 - 항, 대입, 부호, 증감과 감소, 복합 대입) (0) | 2024.04.09 |
Java(상수/리터럴, 형변환과 컴파일) (0) | 2024.04.09 |
Java(변수) (0) | 2024.04.08 |
이클립스 파일 생성 및 폰트 변경, 단축키 (0) | 2024.04.08 |