[Section 1] Java Type

Kim·2022년 9월 2일
0

Boot Camp

목록 보기
9/64
post-thumbnail

Java

Java의 변수 바로가기


정수 타입

정수 타입이란 숫자를 나타내는 타입으로 byte, int, long, short 총 4개로 분류할 수 있다. 일반적으로는 int형을 사용한다.

실수 타입

실수 타입이란 소수점을 가지는 값을 의미한다. float형과 double형으로 분류된다.
float형 보다는 double형의 정밀도가 더 높고, 더 큰 실수를 저장할 수 있다.

// float형 리터럴에는 반드시 접미사 f를 붙여줘야 함
float num1 = 3.14f;

//double형 리터럴에는 접미사 d를 붙이지 않아도 됨
double num2 = 3.141592d;
double num2 = 3.141592;

논리 타입

논리 타입의 종류는 boolean형 하나다. 참 또는 거짓을 저장할 수 있는 데이터 타입으로, true, false만을 값으로 갖는다.

문자 타입

문자 타입의 종류도 char형 하나다.
문자 타입의 변수를 선언하면 오직 하나의 문자형 리터럴을 저장할 수 있다.
문자형 리터럴은 반드시 작은 따옴표('')를 사용해야 한다. 큰 따옴표""를 사용하면 문자열 리터럴로 인식된다.

타입 변환

변수를 선언할 때 타입을 명시해야 하는데, boolean을 제외한 7가지의 타입들은 서로 타입을 변환할 수 있다. 자동으로 변환되는 경우도 있지만 수동으로 변환해주어야 하는 경우도 있다.

자동 변환

타입이 자동 변환되는 경우는 아래와 같다.
1. 바이트 크기가 작은 타입에서 큰 타입으로 변환하는 경우 (ex : byteint)
2. 더 정밀한 타입으로 변환하는 경우 (ex : 정수 → 실수)

아래 순서도는 화살표를 기준으로 좌측의 타입이 우측으로 자동 변환될 수 있는 경우다.
byte(1) → short(2), char(2) → int(4) → long(8) → float(4) → double(8)

수동 변환

차지하는 메모리의 용량이 더 큰 경우, 작은 타입으로 자동 변환이 되지 않는다. 더 큰 데이터 타입을 작은 데이터 타입의 변수에 저장하기 위해 수동으로 변한해주어야 한다. 이를 casting이라고 한다.

int inValue = 128;
byte byValue = (byte)inValue;

System.out.println(byteValue);

int형의 리터럴 128을 byte형으로 캐스팅해 byValue에 할당했다. byte의 표현 범위는 -128 ~ 127이다. 128을 byte형으로 변환하게 되면 오버플로우가 발생해 최종적으로는 -128이 저장된다.

문자열(String)

자바에서는 String 클래스 타입을 사용해 문자열을 다룬다. 클래스 그 자체로도 타입으로 사용될 수 있고, 연관 기능들을 묶을 수 있다.

String은 기본적으로 큰 따옴표("")로 감싸진 문자열을 의미한다.


참고자료

📄 Java String Methods
📄 String 클래스

📄 StringBuilder
📔 StringTokenizer
📔 SpringBuffer

0개의 댓글