겉바속촉
형 변환 type conversion 본문
728x90
반응형
서로 다른 자료형의 값이 대입되는 경우 형 변환이 발생
1. 묵시적 형변환 : 작은 수 --> 큰 수/ 덜 정밀 --> 정밀
[정수] byte -> short, char -> int -> long
[실수] float -> double
public class ImplicitConversion {
public static void main(String[] args) {
byte bNum = 10;
int num = bNum;
System.out.println(num);
long lNum = 10;
float fNum = lNum;
System.out.println(fNum);
double dNum = fNum + num; //두번의 형변환 발생 1.num이 자연스럽게 float이 된다. 2.두 값이 더해진 후에 double형으로 변환
System.out.println(dNum);
}
}
2. 명시적 형변환 (묵시적과 반대)
컴파일러가 임의로 형변환을 못하는 경우
다음과 같이 오류 발생
그래서 임의로 앞에 byte를 붙여주어야 함
하나 더 해보면 다음처럼 또 에러 발생
그래서 임의로 int붙여줄 것
public class ExplicitConversion {
public static void main(String[] args) {
int iNum = 1000;
byte bNum = (byte)iNum;
System.out.println(iNum);
System.out.println(bNum);
double dNum = 3.14;
iNum = (int)dNum;
System.out.println(iNum);
}
}
728x90
반응형
'IT 일기 (상반기) > JAVA' 카테고리의 다른 글
클래스와 객체 - 개념 (0) | 2022.05.26 |
---|---|
제어 흐름 - continue, break (0) | 2022.05.26 |
제어 흐름 - 반복문 (0) | 2022.05.26 |
제어 흐름 - 조건문 (0) | 2022.05.26 |
항과 연산자 (0) | 2022.05.25 |