정수와 실수를 더하면 어떤 일이 일어날까?
형 변횐은 이렇게 각 변수의 자료형이 다를 때 자료형을 같게 바꾸는 것 을 말한다.
형 변환에는 묵시적 형 변환(자동 형 변환) 명시적 형 변환(강제 형 변환) 두가지로 구분할 수 있다.
JAVA는 데이터 손실이 없도록 묵시적 형 변환을 한다.
묵시적 형 변환
과 명시적 형 변환
이 있다.컴파일러에서 자동으로 형 변환을 하는 경우
경우 1. 작은 자료형에서 큰 자료형으로 대입하는 경우
byte
→ int
float
→ double
경우 2. 더 정밀한 자료형으로 대입하는 경우
int
→ float
경우 3. 연산 중에 자동 변환되는 경우
(자료형)
을 사용해 강제적으로 형변환을 하는 경우 float f = 10.1f;
int i = (int)f;
System.out.println(i); //10
📒 명시적 형변환이 필요한 경우
경우 1. 바이트 크기가 큰 자료형에서 작은 자료형으로 대입하는 경우
- 자료손실이 발생할 수 있다.
경우 2. 더 정밀한 자료형에서 덜 정밀한 자료형으로 대입하는 경우 (실수 → 정수)
이때 실수의 소수점 이하 부분이 생략된다.
경우 3. 연산 중 형변환
형 변환의 위치에 따라서 연산 값이 바뀔 수 있다.
double a = 3.6;
double b = 5.7;
// int x = a+b;
// System.out.println(x);❗오류발생
int y = (int)a + (int)b;
System.out.println(y); //8
int z = (int)(a+b);
System.out.println(z); //9
java는 형변환을 ()로~!