Java/Variable(변수)
자동형변환 명시적형변환
Bohemian life
2012. 4. 6. 13:59
public class CastEx { public static void main(String[] args){ //====프로모션 (자동 형변환) ====// //더 큰 자료형으로 승격이 일어나는 형태, //정보의 손실이 전혀 없으며 자동적으로 발생 byte b1 = 127; byte b2 = 127; int b3 = b1 + b2; //32bit 미만의 자료형(byte)연산시 //32bit(int)로 승격 short s1 = 123; short s2 = 123; int s3 = s1 + s2; //32bit 미만의 자료형(byte)연산시 //32bit(int)로 승격 int in1 = 234; long lg = in1; // int->long 자동 형변환 int in2 = 1234; long lg2 = 234L; long lg3 = in2 + lg2; //int -> long 자동형변환 //==== 디모션(명시적(강제) 형변환) ====// //더 작은 자료형으로 강등, 데이터의 손실이 있을 수 있음 //명시적(강제) 형변환 byte b4 = 127; byte b5 = 127; byte b6 = (byte)(b4 + b5);//int -> byte //명시적 (강제) 형변환 System.out.println("b6 =" + b6); //데이터 손실이 일어남 short s4 = 123; short s5 = 123; short s6 = (short)(s4 + s5);//int -> short //명시적 (강제)형변환 int in5 = 234; float f5 = 123.5f; int in6 = in5 + (int)f5; //float -> int System.out.println("in =" + in6); //소수점이 날라감 반올림 반내림 없음 } }