변수와 데이터 타입
1.1 변수
변수란?
변수는 프로그램에서 데이터를 저장하고 나중에 사용하기 위한 메모리 공간입니다. 변수는 데이터의 위치를 나타내며, 데이터를 저장하고 검색하는 데 사용됩니다.
변수 선언과 초기화
변수를 사용하려면 먼저 변수를 선언해야 합니다. 변수 선언은 해당 변수의 이름과 데이터 타입을 지정하는 작업입니다. 예를 들어, int
데이터 타입의 정수를 저장할 변수를 선언할 때는 다음과 같이 합니다.
int myAge;
변수를 선언한 후에는 초기값을 할당할 수 있습니다. 초기값을 할당하지 않으면 변수에는 기본값이 들어갑니다. 예를 들어, 정수 변수 myAge
를 초기화하려면 다음과 같이 합니다.
myAge = 30;
또한, 변수를 선언하는 동시에 초기값을 할당할 수도 있습니다.
int myAge = 30;
변수 이름 규칙
변수의 이름을 정할 때는 몇 가지 규칙을 따라야 합니다.
변수 이름은 문자, 숫자, 언더스코어(_)로 구성됩니다.
변수 이름은 문자로 시작해야 합니다.
대소문자를 구분합니다.
예약어(Reserved Keywords)는 변수 이름으로 사용할 수 없습니다.
예약어 예시) if, else, case, break, ...
변수 이름은 의미를 가지고 있어야 하며, 다른 개발자들도 이해하기 쉬워야 합니다.
변수의 데이터 타입
변수의 데이터 타입은 변수가 어떤 종류의 데이터를 저장하는지를 나타냅니다. Java에서는 기본 데이터 타입과 참조 데이터 타입으로 나눌 수 있습니다.
기본 데이터 타입(Primitive Data Types): 정수, 실수, 문자, 논리 값 등을 저장합니다. 기본 데이터 타입은 크기와 값을 직접 저장합니다.
정수형 데이터 타입:
int
,long
,short
,byte
실수형 데이터 타입:
float
,double
문자 데이터 타입:
char
논리 데이터 타입:
boolean
참조 데이터 타입(Reference Data Types)은 뒤 단원에서 설명하겠습니다.
1.2 기본 데이터 타입
정수형 데이터 타입
byte
byte
는 1바이트의 정수를 저장하는 데이터 타입입니다.주로 파일이나 네트워크에서 데이터를 읽거나 쓸 때 사용됩니다.
범위: -128부터 127까지의 정수를 표현할 수 있습니다.
💡 byte
1비트(bit) : 정보량의 최소 단위. 1bit 한칸에 0 또는 1 을 담을 수 있습니다.
1바이트(byte) = 8비트(bit)
즉, 한 칸에 2 개씩 8 칸이면 2^8 = 256 가지의 정보를 담을 수 있습니다.
short
short
는 2바이트의 정수를 저장하는 데이터 타입입니다.자주 사용되지는 않지만 특정 상황에서 유용합니다.
범위: 약 -32,768부터 32,767까지의 정수를 표현할 수 있습니다.
int
int
는 4바이트의 정수를 저장하는 데이터 타입입니다.대부분의 정수 연산에 사용됩니다.
범위: 약 -2,147,483,648부터 2,147,483,647 (약 21억) 까지의 정수를 표현할 수 있습니다.
💡 int 범위 계산
1바이트(Byte) = 8비트(Bit)
4바이트 = 32비트
2^32 = 약 42억
int 형이 표현할 수 있는 십진법 숫자 범위 : -2^31 ~ 2^31 - 1
long
long
은 8바이트의 정수를 저장하는 데이터 타입입니다.큰 정수 값을 다룰 때 사용됩니다.
범위: 약 -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807 (약 900경) 까지의 정수를 표현할 수 있습니다.
실수형 데이터 타입
float
float
는 4바이트의 부동 소수점 값을 저장하는 데이터 타입입니다.정밀도가 높지 않아 정확한 실수 표현에는 한계가 있습니다.
예:
3.14159f
(f 접미사 필요)
double
double
은 8바이트의 부동 소수점 값을 저장하는 데이터 타입입니다.높은 정밀도를 가지며 실수 연산에 주로 사용됩니다.
예:
3.141592653589793

💡 소수 표현
위 그림처럼 컴퓨터는 소수를 표현할 때 부호, 가수, 지수로 분리해서 보관합니다. (IEEE 754 표준)
float 은 32bit 이고 아래와 같이 할당합니다.
부호에 1bit
가수에 8bit
지수에 23bit
double 은 64bit 이며 아래와 같이 할당합니다.
부호에 1bit
가수에 11bit
지수에 52bit
문자 데이터 타입
char
char
는 2바이트의 유니코드 문자를 저장하는 데이터 타입입니다.한 개의 문자를 저장하며 작은 따옴표('')로 묶어 표현합니다.
예:
'A'
,'한'
논리 데이터 타입
boolean
boolean
은 논리값을 저장하는 데이터 타입입니다.true
나false
중 하나의 값을 가집니다.주로 조건문과 제어문에서 사용됩니다.
한 눈에 정리
byte
1
-128
127
short
2
-32,768
32,767
int
4
-2,147,483,648
2,147,483,647
long
8
-9,223,372,036,854,775,808
9,223,372,036,854,775,807
float
4
대략 -3.4 x 10^38
대략 3.4 x 10^38
double
8
대략 -1.7 x 10^308
대략 1.7 x 10^308
char
2
'\u0000' (0)
'\uffff' (65,535)
boolean
1 (또는 작을 수 있음)
false
true
Last updated