인디언식 기우제

자바 - 데이터 타입 본문

Java/변수와 타입

자바 - 데이터 타입

밍주키니어 2022. 11. 1. 23:14

자바에서 변수를 선언할 때에는 타입 변수이름; 의 형태로 선언한다. 그래서 모든 변수에는 타입이 있으며, 타입에 따라

저장할 수 있는 값의 종류와 범위가 달라진다. 그러므로 변수를 선언할 때 어떤 타입을 사용할지 충분히 고려해야 한다.

데이터 타입에는 기본 타입과 참조 타입이 있다.

 

기본(원시:primitive) 타입

기본 타입 변수는 boolean, char, byte, short, int, long, float, double 이렇게 8가지가 있다.

기본 타입에는 논리, 정수, 문자, 실수 값을 직접 저장한다.

종류\크기 1바이트 2바이트 4바이트 8바이트
논리형 boolean      
문자형   char    
정수형 byte short int long
실수형     float double

타입의 종류와 크기에 따라 정리한 표다. 

 

논리형(boolean)

boolean 타입은 1byte(8bit)로 표현되는 논리값(true/false)을 저장할 수 있는 데이터 타입이다. boolean 타입은

제어문의 실행 흐름을 변경하는데 주로 이용된다.

boolen current = true;   //true 혹은 false 만 저장 가능
if(current){
	System.out.println("참 입니다.");
} else {
	System.out.println("거짓 입니다.");
}

이런식으로 제어문에 사용한다.

 

문자형(char)

문자형은 자바에서 유니코드(2byte 문자 체계)를 사용한다. 유니코드 문자는 전부 표현 가능. 문자형에는 'a', 'c', '3', 'ㄱ', '가' 등과 같이 하나의 문자만 데이터로 담는다.

정수형(byte, short, int, long)

정수형은 말 그대로 정수 값을 저장하는데 사용된다. 주로 사용하는 것은 int와 long이며, byte는 이진 데이터를

다루는 데 사용되며, short는 c언어와의 호환을 위해 추가되었다.

여기서 int와 long은 저장할 수 있는 값의 범위가 차이가 난다. 그래서 int의 저장 범위를 넘어서는 큰 정수는

long 타입으로 선언하고 초기화할 때에는 정수 값 뒤에 소문자'l'이나 대문자'L'을 붙여야 한다.

byte var1 = 100;
short var2 = 100;
int var3 = 100;
long var4 = 100; // 정수값이 int타입 저장 범위보다 크지 않다면 'l'또는'L'생략가능
//long var5 = 1000000000000;    //컴파일 에러, int 저장 범위를 넘어섬
long var6 = 1000000000000L;

 

실수형(float, double)

정수형과 달리 소수점을 가진 실수를 저장하는 데 사용된다. 정수형에 10을 저장하면 정수 그대로 10이 저장되지만,

실수형에 10을 저장하면 실수 10.0으로 저장된다. 소수점까지 표현하고 싶으면 실수형을 사용해야 한다.

실수형에는 float과 double이 있는데, float은 초기화할 때에는 실수 값 뒤에 소문자'f' 혹은 대문자'F'를 붙여야 한다.

float pi = 3.14f;
double tenten = 10.0;
double rate = 1.618;

 

저장 가능한 값의 범위
자료형 저장 가능한 값의 범위 크기(bit) 크기(byte)
boolean false, true 8 1
char '₩u0000' ~ '₩uffff' (0~65535) 16 2
byte -128 ~ 127 8 1
short -32,768 ~ 32,767 16 2
int -2,147,483,648 ~ 2,147,483,647 32 4
long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 64 8
float ±1.4E-45 ~ 3.4E38 32 4
double ±4.9E-324 ~ 1.8E308 64 8

표를 참고하여 저장하려는 값의 크기에 알맞은 자료형을 골라야 한다.

 

 

 

 

 

부족한 점, 잘못된 점이 있다면 지적 부탁드립니다. 피드백은 언제나 환영입니다.

'Java > 변수와 타입' 카테고리의 다른 글

자바 - 타입 변환  (0) 2022.11.03
자바 - 변수  (0) 2022.10.30