형변환 예제(CastingTest.java)

홈 > 공유팁! > 프로그램 관련
프로그램 관련

형변환 예제(CastingTest.java)

꽁스짱 0 904

class CastingTest {
  public static void main(String[] args) {
  //i = (int)l l이 int형의 범위를 넘어선다면 오류, integer형의 범위가 넘는값은 int로 Casting 안된다.
  // integer형의 범위는 -2147483648 ~ 2147483647
  long l=123456789;
  int i=(int)l;
  System.out.println("i --> " + i);
  //작은데 큰것을 넣을때는 명시적으로 형변환을 해야한다.
  //i = l;  integer은 4바이트, long형은 8바이트 이므로 에러...

  boolean bool =true;
  //boolean형의 경우 int형으로 명시적으로 형변환 불가
  //boolean형은 같은 자료형 이외에 다른 자료형으로의 변환이 금지된 자료형이다
  //i = (int)bool; 


  //int형을 boolean 형으로의 형변환은 명시적으로 불가
  //bool = (boolean)i;

  i = 65535;
  byte b = (byte)i; //65535 가 -1로 바뀜
  System.out.println("b --> " + b);

  //왼쪽이 작으니까 명시적 형변환 필요, 협소화
  double d = 3.1313139313;
  float f = (float)d;
  System.out.println("f --> " + f);

    //왼쪽이 크니까 컴파일러에 의한 묵시적인 형변환, 광역화
    f = i;
    System.out.println("i --> " + i);       
  }
}


  

0 Comments
제목