JAVA

형변환

나주나주 2023. 12. 28. 17:47

Tip

char =/= byte: char type은 음수가 없으므로 오류 발생

.MAX_VALUE 와 .MIN_VALUE: Math클래스 (java.lang.package에 포함)

double로 형 변환: 연산의 기본형은 int이기 떄문에, 정수와 정수끼리 연산 할 때 최소한 한 개를 실수로 바꿔야 한다!!

package ch03;

public class CastingExam {
	public static void main(String[] args) {
		//강제 타입 변환: 큰 타입 > 작은 타입, 작은타입 변수명 = (작은타입)변수명;
		int intValue = 123456789;
		byte byteValue = (byte)intValue;
		System.out.println(intValue);
		System.out.println(byteValue);
		
		intValue = 44032; //정수형 값 삽입
		char charValue = (char)intValue;
		System.out.println(charValue);
		
		double doubleValue = 3.14;
		intValue = (int)doubleValue;
		System.out.println(intValue);
	}
}
 
package ch03;

public class CheckValueExam {
	public static void main(String[] args) {
		//java가 가지고 있는 타입의 최솟값, 최대값을 활용하여 변환되는 값을 체크
		
		//byte의 범위
		int i = 128; //int타입 i변수에 128값을 넣는다.
		if((i >= Byte.MIN_VALUE) && (i <= Byte.MAX_VALUE)) {
			byte byteValue = (byte)i; //int타입을 byte타입으로 강제 타입 변환
			System.out.println(byteValue);
		} else {
			System.out.println("byte로 변환할 수 없는 값입니다.");
		} //if문 종료
		
		//int의 범위
		long l = 1000000000; //int타입 i변수에 128값을 넣는다.
		//byte의 범위
	if((i >= Integer.MIN_VALUE) && (i <= Integer.MAX_VALUE)) {
		int intValue = (int)l; //int타입을 byte타입으로 강제 타입 변환
		System.out.println(intValue);
	} else {
		System.out.println("int로 변환할 수 없는 값입니다.");
	} //if문 종료
	
	}
}
 
package ch03;
			//지원해주는 자동 타입 변환
public class PromotionExam {
	public static void main(String[] args) {
		byte byteValue = 10;
		int intValue = byteValue;
		System.out.println(intValue);
		
		//큰 타입 > 작은 타입 '불가능'
		//byte byteValue1 = intValue; 
		
		char charValue = '가'; // 0 ~ 65535 처리, 유니코드 매핑, 음수 X
		intValue = charValue;
		System.out.println("가의 유니코드 값은: " + intValue);
		
		intValue = 500;
		long longValue = intValue;
		System.out.println("long으로 자동 타입 변환 값: " + longValue);
		
		double doubleValue = intValue;
		System.out.println("double으로 자동 타입 변환 값: " + doubleValue);
	}
}
 
package ch03;

public class OperationExam {
	public static void main(String[] args) {
		//연산 실행 시 기본 타입 == int, double
		byte byteValue1 = 10;
		byte byteValue2 = 20;
		int intValue1 = byteValue1 + byteValue2;
		System.out.println(intValue1);
		
		char charValue1 = 'A'; //65
		char charValue2 = 1;
		int intValue2 = charValue1 + charValue2;
		System.out.println("유니코드 값: " + intValue2);
		System.out.println("출력문자 값: " + (char)intValue2);
		
		int intValue5 = 10;
		int intValue6 = intValue5 / 4;
		System.out.println(intValue6);
		
		//double로 형 변환: 정수와 정수끼리 연산 할 때 최소한 한 개를 실수로 바꿔야 한다!!
		double doubleValue = intValue5 / 4.0;
		System.out.println(doubleValue);
	}
}
 

 

'JAVA' 카테고리의 다른 글

제어문  (1) 2023.12.28
진법, 불대수  (0) 2023.12.28
연산식  (0) 2023.12.28
변수  (1) 2023.12.28
플로우차트  (0) 2023.12.28