Java의 Typecasting이란 무엇이며 어떻게 작동합니까?



Java에서 유형 캐스팅은 한 기본 데이터 유형의 값을 다른 유형에 할당합니다. 이 기사에서는 다양한 유형의 변환에 대해 설명합니다.

프로그래밍은 데이터를 가지고 놀고 있습니다. 에 , 많은 데이터 유형이 있습니다. 코딩하는 동안 대부분의 경우 변수의 처리를 이해하기 위해 데이터 유형을 변경해야하며이를 유형 캐스팅이라고합니다. 이 기사에서는 Java에서 Type Casting의 기본 사항에 대해 설명합니다.

이 기사에서 다루는 주제는 다음과 같습니다.

시작하자!





유형 주조 란 무엇입니까?

유형 캐스팅은 하나의 값을 할당하는 것입니다. 다른 사람에게. 한 데이터 유형의 값을 다른 데이터 유형에 할당 할 때 데이터 유형의 호환성을 알고 있어야합니다. 호환되는 경우 자동으로 변환을 수행합니다. 자동 유형 변환 그렇지 않은 경우 명시 적으로 캐스팅하거나 변환해야합니다.

Java에는 다음과 같은 두 가지 유형의 캐스팅이 있습니다.



  • 확대 주조 (자동) – 여기에는 더 작은 데이터 유형을 더 큰 유형 크기로 변환하는 작업이 포함됩니다.

    바이트-> short-> char-> int-> long-> float-> double

  • 좁은 주조 (수동) – 여기에는 더 큰 데이터 유형을 더 작은 크기 유형으로 변환하는 것이 포함됩니다.



    double-> float-> long-> int-> char-> short-> byte

이제 유형 변환 유형에 대해 자세히 살펴 보겠습니다.

확대 주조

이 유형의 캐스트는 두 데이터 유형이 자동으로 변환 될 때 발생합니다. 암시 적 변환이라고도합니다. 이것은 두 데이터 유형이 호환되고 더 작은 값을 할당 할 때 발생합니다. 더 큰 데이터 유형으로.

예를 들어 숫자 데이터 유형은 서로 호환되지만 숫자 유형에서 char 또는 boolean으로의 자동 변환은 지원되지 않습니다. 또한 char 및 boolean은 서로 호환되지 않습니다. 이제 작동 방식을 이해하기 위해 암시 적 유형 캐스팅에 대한 논리를 작성해 보겠습니다.

public class Conversion {public static void main (String [] args) {int i = 200 // 자동 유형 변환 long l = i // 자동 유형 변환 float f = l System.out.println ( 'Int value'+ i) System.out.println ( 'Long 값'+ l) System.out.println ( 'Float 값'+ f)}}

산출:

Int 값 200 Long 값 200 Float 값 200.0

이제 더 나아가 Explicit Type Casting이 어떻게 작동하는지 이해하겠습니다.

좁은 주조

이 경우 더 큰 데이터 유형의 값을 더 작은 데이터 유형에 할당하려는 경우 다음을 수행 할 수 있습니다. 명시 적 유형 캐스팅 또는 축소. 이는 자동 변환을 수행 할 수없는 호환되지 않는 데이터 유형에 유용합니다.

예를 들어 이해합시다.

// 명시 적 유형 변환을 설명하는 자바 프로그램 public class Narrowing {public static void main (String [] args) {double d = 200.06 // explicit type casting long l = (long) d // explicit type casting int i = (int ) l System.out.println ( 'Double 데이터 유형 값'+ d) // 소수 부분 손실 System.out.println ( 'Long 데이터 유형 값'+ l) // 소수 부분 손실 System.out.println ( 'Int 데이터 유형 값 '+ i)}}

산출:

Double 데이터 유형 값 200.06 Long 데이터 유형 값 200 Int 데이터 유형 값 200

이제 명시 적 유형 캐스팅을 수행하는 방법을 알았으니 이제 더 나아가 Java 표현식에서 명시 적 캐스팅을 수행 할 수있는 방법을 이해하겠습니다.

자바 값으로 전달

식의 명시 적 유형 캐스팅

평가할 때 표현, 출력은 피연산자의 더 큰 데이터 유형으로 자동 업데이트됩니다. 그러나 그 결과를 더 작은 데이터 유형에 저장하면 컴파일 시간 오류가 발생하므로 출력을 유형 캐스팅해야합니다.

예:

// int에서 바이트로 유형 캐스팅을 설명하는 Java 프로그램 public class ExplicitTest {public static void main (String args []) {byte b = 70 // int에서 바이트로 유형 캐스팅 b = (byte) (b * 2) System.out .println (b)}}

산출:

140

노트 : 단일 피연산자의 경우 결과는 int로 변환 된 다음 그에 따라 형변환됩니다.

이것이 Java의 Explicit Type Casting에 관한 것입니다.이것으로 우리는이 기사의 끝으로 왔습니다. 나는유익한 정보를 찾으 셨기를 바랍니다. 더 자세한 정보를 원하시면 저희의 게다가.

확인 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. 우리는 당신의 여정의 모든 단계에서 당신을 돕기 위해 여기에 있습니다.이 자바 인터뷰 질문 외에 우리는 자바 개발자가되기를 원하는 학생과 전문가를 위해 설계된 커리큘럼을 마련했습니다.

질문이 있으십니까? 이 '자바의 유형 캐스팅'기사의 주석 섹션에 언급 해 주시면 가능한 한 빨리 연락 드리겠습니다.