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 |
댓글