겉바속촉

형 변환 type conversion 본문

IT 일기 (상반기)/JAVA

형 변환 type conversion

겉바속촉 2022. 5. 25. 16:40
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