본문 바로가기
프로그래밍/java

형 변환(type conversion)

by mooyou 2021. 8. 27.
728x90
300x250

자료형은 각각 사용하는 메모리의 크기와 방식이 다르기 때문에 서로 다른 자료형의 값이 대입되는 경우에는 자동으로 형 변환이 일어나게 된다.

 

묵시적 형변환 : 더 큰 형으로 형 변환되는 것을 만한다.

그러니까 작은수에서 큰 수로 덜 정밀한 수에서 더 정밀한 수로 대입된다.

 

byte b=127;
int n=10;		
System.out.println(b+n);
// 이렇게 하면 더 큰형인 int로 자동으로 형변환됨
int n=10;
float n2=3.0f;
System.out.println(n/n2);
3.3333333
//float가 더 크기 때문에 float로 형변환이 일어난다.

 

작은 데이터를 큰 공간에 넣는것은 아무 문제 없이 바로 큰 타입으로 변경된다 이런걸 묵시적 형변환이라고 한다.

byte > short > int > long

char > int

정수형이 더 작기 때문에 실수형으로 그냥 들어가게 된다.

float > double

 

만약 큰 값을 작은 값으로 자르려면?

원하는 값이 안나온다.

값을 명시적으로 타이핑 할 때 내가 원하는 값이 변하지 않는지 잘 확인해야 한다.

 

명시적 형 변환 : 자료 형을 명시해야 한다.

묵시적 형 변환과 반대로 변환 되는 자료 형을 명시해야 한다. 그렇게 안하면 자료의 손실이 발생할 수 있다.

double dNum = 3.14;

int num = (int)dNum; //자료형 명시

 

728x90
반응형

'프로그래밍 > java' 카테고리의 다른 글

[JAVA]소문자 입력 받아 대문자로 나타내기  (0) 2021.09.01
[JAVA] 자바 키 입력  (0) 2021.08.31
리터럴(literal) 이란?  (0) 2021.08.26
상수 뜻  (0) 2021.08.25
[JAVA] 자료형 없이 변수 사용하기  (0) 2021.08.24

댓글