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