Java의 데이터형
1. 기본 데이터형(PDT, primitive data type)
수치형: 정수형-byte, short, int(기본형), long / 실수형-float, double(기본형)
논리형: boolean
문자형: char
2. 참조 데이터형(RDT, reference data type)
클래스, 배열, 인터페이스 등 기본 데이터형을 제외한 나머지 데이터형
리터럴(Literal)
Java 언어가 처리하는 실제 데이터. 데이터 자체를 리터럴이라고 한다.
- 문자 리터럴: 하나의 문자. ''(single quotes)으로 표현한다.
문자열은 반드시 ""(double quotes)로 표현한다. - 정수 리터럴: 일반적인 정수 데이터. 10진수, 8진수, 16진수로 표현 가능
int보다 큰 값은 값 마지막에 L을 추가하여 long 타입으로 표현할 수 있다. - 실수 리터럴: 소수점을 가진 실수 데이터. 실수형의 기본은 double
- 논리형 리터럴: true/false
데이터형(Type) 변환
데이터가 프로그램 실행 중에 원래의 데이터형이 아닌 새로운 데이터형으로 변경되는 것이다. 같은 종류의 데이터형으로만 변환 가능하다.(기본형->기본형/참조형->참조형)
1. 묵시적 형 변환(promotion, 자동 형 변환)
수치형은 기본적으로 데이터형이 큰 쪽으로 자동 변환이 가능하다.(up casting)
byte -> short -> int -> long -> float -> double -> char -> int
큰 타입의 데이터와 작은 타입의 데이터가 연산될 때, 결과는 큰 타입으로 자동 변경된다.
예)
int n = 10;
float f = 10.2f;
double d = n + f; //n과 f의 연산 결과는 더 큰 타입인 double이 된다.
int보다 작은 데이터형 간 연산 결과는 int로 자동 변경된다.
예)
short s = 10;
short s2 = 20;
short s3 = s + s2; //에러 발생
문자열(String)과 다른 데이터형 간 더하기(+) 연산자 사용 시 문자열로 자동 변경된다.
예)
String s = "Hello" + 1 + 2;// Hello12
System.out.println("" + 1 + 2);// 문자열 "12"가 출력됨
2. 명시적 형 변환(type casting, 강제 형 변환)
작은 데이터형으로 변환되기 때문에 데이터 손실이 일어날 수도 있으며, down casting이라고도 한다.
문법)
(데이터형)값;
int num = 10;
short s = (short)num; //num을 short로 강제 형 변환함
'프로그래밍 > Java' 카테고리의 다른 글
[Java] equals(), ==, compareTo() (0) | 2020.08.30 |
---|---|
[Java] 연산자(Operator) (0) | 2020.08.12 |
[Java] 변수(Variables)와 상수 (0) | 2020.08.11 |
[Java] 식별자(identifier) (0) | 2020.08.09 |
[Java] Java의 개요 (0) | 2020.08.09 |
댓글