티스토리 뷰

Java/기본

016. 자바 : 형변환

따강아지 2022. 3. 1. 02:49

시스템에서 자동으로 하는 자동 변환(Up Casting), 개발자에 의해 강제로 하는 수동 변환 (Down Casting)

자료형 변환

Up Casting : 자료형 크기가 큰 쪽, 범위가 넓은 쪽으로 자동 변환되는 것을 형 확장이라고 하며 자동 변환되는 것이며.  범위 안에 있는 경우 자동 Casting 됩니다.

Down Casting : 자료형 크기가 작은 쪽, 범위가 좁은 쪽으로 자동 변환 되는 것으로 형 축소라 하며 개발자가 변환해 주어야 합니다. 

수동 변환 방법 : (자료형) 객체 

형 변환


자동 변환


수동 변환


public class TypeCasting {
   public static void main(String[] args) {

      // 자동 변환
      long valueLong = 10;       // int -> long ( Up )
      float valueFloat = 10;     // int -> float ( Up )
      double valueDouble = 10;   // int -> double ( Up )
      byte valueByte = 10;       // int -> byte
      short valueShort = 10;     // int -> short

      System.out.println("int -> long ( Up ) = " + valueLong);
      System.out.println("int -> float ( Up ) = " + valueFloat);
      System.out.println("int -> double ( Up ) = " + valueDouble);
      System.out.println("int -> byte = " + valueByte);
      System.out.println("int -> short = " + valueShort);

      // 수동 변환
      byte valueByteCasting = (byte) 100;       // int -> byte ( Down )
      int valueIntCasting = (int) 3.5;          // double -> int ( Down )
      float valueFloatCasting = (float) 3.5;    // double -> float ( Down )

      System.out.println("int -> byte ( Down ) = " + valueByteCasting);
      System.out.println("double -> int ( Down ) = " + valueIntCasting);
      System.out.println("double -> float ( Down ) = " + valueFloatCasting);

      // 정수형은 작은 범위의 자료형으로 down Castring 하면 서쿨러 구조 임
      byte valueByte128 = (byte) 128;
      byte valueByte129 = (byte) 129;
      byte valueByte_129 = (byte) -129;
      byte valueByte_130 = (byte) -130;
      System.out.println("(byte) 128 = " + valueByte128);
      System.out.println("(byte) 129 = " + valueByte129);
      System.out.println("(byte) -129 = " + valueByte_129);
      System.out.println("(byte) -130 = " + valueByte_130);
   }
}

수행 결과

 

소스 : https://github.com/hyomee/JAVA_EDU/blob/main/Variable/src/com/javavariable/TypeCasting.java

 

GitHub - hyomee/JAVA_EDU: 자바 기초 교육

자바 기초 교육. Contribute to hyomee/JAVA_EDU development by creating an account on GitHub.

github.com

 

'Java > 기본' 카테고리의 다른 글

018. 자바 : 대입 연산자  (0) 2022.03.06
017. 자바 : 연산자  (0) 2022.03.06
015. 자바 : 변수 구분  (0) 2022.03.01
014. 자바 : 문자열 API  (0) 2022.03.01
013. 자바 : 참조자료형 : 문자열  (0) 2022.03.01