본문 바로가기

JAVA/DAY 05 _ 23.08.23

Type Casting

byte a1 = 10;
// int a2 = "안녕하세요"; 		// 좌항과 우항의 타입이 같아야한다!! int집에는 정수만 들어갈수있따구....

int a2 = a1;
System.out.println(a2);			// int가 더 큰 정수범위니까 들어갈 수 있다 = 타입 캐스팅

// byte a3 = a2;			// byte는 int보다 작은 정수범위니까 들어갈 수 없다구.
byte a3 = (byte)a2;			// 명시적 타입 캐스팅 : 값의 증발을 감수하고 사용해야한다.
					// 프로그래머가 판단해야 함


double b1 = 0.1;
// int 2 = a4;				// type mismatch : 실수는 정수안에 들어갈 수 없다고!
					// 작은집에 왜 넣으려고해

double b2 = a2;				// 이건된다고! ★★★★
System.out.println(b2);			// 10.0이 출력됨 (= 정수를 실수type으로 casting하는 것. 10 -> 10.0)

double b3 = (double)a2;			// 명시적 타입캐스팅으로 표현한거임. 위 코드랑 동일함 (보통 위코드를 쓴다)
System.out.println(b3);

double b4 = 10;				// 되긴되는데 type casting을 한번 더하고 실수로 인식하니까
b4 = 10.0;				// 이게 아주 정확한거라구.


double c1 = 10.1;
int c2 = (int)c1;			// 10이 출력됨. 좌항이 int면 우항도 (int)를 넣어야 강제로 변환된다 ★★★★


char d1 = 'A';
System.out.println(d1);
System.out.println((int)d1);


int d2 = 100;
System.out.println(d2);			// 100
System.out.println((char)d2);		// d

'JAVA > DAY 05 _ 23.08.23' 카테고리의 다른 글

Operator1. 산술 연산  (0) 2023.08.29
java 단축키  (0) 2023.08.29
memory  (1) 2023.08.29
변수 명명법  (0) 2023.08.29
literal  (2) 2023.08.29