728x90

기본 자료형

자바에는 '기본 자료형(Primitive Types)'이 있습니다. 가장 기본이 되는 자료형들입니다.

TypeBitsRange of Values

 

byte 8bits -2^7 ~ 2^7-1 (-128 ~ 127)
short 16bits -2^15 ~ 2^15-1 (-32768 ~ 32767)
int 32bits -2^31 ~ 2^31-1 (-2147483648 ~ 2147483647)
long 64bits -2^63 ~ 2^63-1 (-9223372036854775808 ~ 9223372036854775807)
float 32bits *single-precision 32-bit IEEE 754 floating point
double 64bits *double-precision 64-bit IEEE 754 floating point
char 16bits \u0000 ~ \uffff (0 ~ 2^15-1)
boolean *VMD true, false

 

 

각 자료형의 기본 값은 다음과 같습니다.

type기본 값

byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
boolean false

 

숫자형

숫자를 담는 자료형은 정수형 byte, short, int, long, 그리고 소수형 float과 double이 있습니다.

 

정수형

자바에서는 int를 정수형의 메인으로 사용합니다. 즉, 정수를 입력하면 기본적으로 int로 간주합니다.

byte a = 127;

하지만 이렇게 127을 byte 변수에 지정해주면, 127은 byte의 범위 내에 있기 때문에 컴파일러가 알아서 127을 byte로 바꿔줍니다.

long x = 12345678910; // 오류 (정수 범위를 벗어남)

만약 int의 범위에서 벗어나는 값을 써주면 오류가 나옵니다. 고치기 위해서는 L을 붙여주면 됩니다.

long을 표현하기위한 리터럴은 뒤에l(소문자 엘)또는 L(대문자 엘)을 붙여줍니다. 소문자 l(엘)의 경우 숫자 1(일)과 혼동될 수 있으니 대문자 L(엘)을 적는 것이 권장사항입니다.

long x = 12345678910l; // 소문자 l은 1과 헷갈릴 수 있음 long x = 12345678910L; // 권장사항

 

소수형

자바에는 두 가지 소수형 자료형이 있습니다: float과 double.

float과 double은 둘다 소수형을 담지만 정밀도(Precision) 혹은 정확도에 차이가 있습니다. double이 더 정밀하게 값을 보관할 수 있습니다. 이러한 이유로 자바에서는 double을 소수형의 기본으로 사용합니다. 정수를 입력하면 기본적으로 int로 인식되듯이, 소수를 입력하면 기본적으로 double로 인식되는 것이죠.

만약 float를 쓰고 싶으면 소수를 쓰고, 뒤에 f를 붙여주면 됩니다.

float f = 3.14f;

 

글자

char a1 = 'a'; char a2 = 97; char a3 = '\u0061'; char a4 = '가';

글자(Character) 하나를 담는 자료형 char도 있습니다. char은 딱 글자 하나만 넣어줄 수 있고, 작은 따옴표로 글자를 둘러싸야 합니다. 글자 여러 개를 담고 싶으면 큰 따옴표로 둘러싸고 아래에서 배울 String이라는 자료형을 사용하면 됩니다.

a1에는 글자 'a'를 담았고, a2에는 글자 'a'에 해당하는 ASCII 값인 97을 담았습니다. 사실 a1과 a2는 같은 셈이죠.

a3는 유니코드 값입니다. '가'도 유니코드 중 하나라 자바의 char에 담을 수 있습니다.

ASCII 코드와 유니코드에 대해서 궁금하시면 더 찾아보시길 바랍니다!

 

불린

boolean myBoolean = true; myBoolean = false;

참(true), 거짓(false)을 담는 boolean 입니다. 값으로는 true와 false가 가능합니다.

 

문자열

이제 조금 특별한 자료형을 살펴볼까요? String은 제일 위의 기본 자료형에 없죠? String은 기본 자료형이 아니라 클래스입니다. 클래스를 변수의 형으로 쓰고 변수를 선언하면 그 변수는 클래스의 인스턴스를 담을 수 있습니다. String 클래스에 대해서는 이후에 제대로 배우니까, 일단은 이해가 안 되도 그냥 넘어가셔도 됩니다.

먼저 String은 큰 따옴표(")로 둘러싸인 글자들을 적어 만들 수 있습니다.

 


String a = "Hello, I'm ";

String b = ".";

System.out.print(a);

System.out.print(26);

System.out.println(b); Hello, I'm 26.
728x90

'Java' 카테고리의 다른 글

Strategy pattern (전략 패턴)  (0) 2022.06.18
java use package  (0) 2021.07.07