> Java > java지도 시간 > Java에서 Int를 Char로 변환하면 빈 출력이 반환되는 이유는 무엇입니까?

Java에서 Int를 Char로 변환하면 빈 출력이 반환되는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-10 13:18:03
원래의
696명이 탐색했습니다.

Why Does Converting an Int to a Char in Java Return an Empty Output?

Java에서 문자 변환 탐구: Int에서 Char로

Java에서 데이터를 조작할 때 기본 데이터 유형 간의 변환이 다음과 같은 경우가 종종 발생합니다. 필요한. 그러한 시나리오 중 하나는 정수(int)를 문자(char)로 변환하는 것입니다. 이러한 변환은 간단해 보이지만 세심하게 접근하지 않으면 예상치 못한 결과를 초래할 수 있습니다.

다음 Java 코드 조각을 고려하세요.

int a = 1;
char b = (char) a;
System.out.println(b);
로그인 후 복사

이 코드를 실행하면 놀랄 수 있습니다. 예상 문자 '1' 대신 빈 출력을 찾습니다. 이런 일이 발생하는 이유를 이해하려면 이 변환의 내부 작동 방식을 자세히 살펴보는 것이 중요합니다.

int를 char로 캐스팅할 때 Java는 int를 유니코드 코드 포인트로 처리합니다. 위의 예에서 int 1에는 "제목 시작" 제어 문자에 해당하는 유니코드 코드 포인트 1이 있습니다. 이 문자는 인쇄할 수 없으므로 빈 출력을 생성합니다.

이 문제를 해결하고 예상 문자 '1'을 얻으려면 int를 코드 포인트가 아닌 숫자 값으로 처리해야 합니다. 이를 달성하는 방법은 다음과 같습니다.

int a = '1';
char b = (char) a;
System.out.println(b);
로그인 후 복사

이 스니펫에서는 '1'을 작은따옴표로 묶어 문자로 지정합니다. 이 문자의 값은 '1'에 대한 유니코드 코드 포인트인 49입니다. 이 문자를 char로 올바르게 변환하면 원하는 출력이 생성됩니다.

또한 다음 방법을 사용하여 int를 char로 변환할 수도 있습니다.

  • Integer.valueOf(int) .charValue(): int의 char 표현을 반환합니다.
  • Character.forDigit(int, int radix): int를 지정된 기수에 해당하는 숫자를 나타내는 char로 변환합니다(예: 10진수의 경우 10). .
  • Character.toChars(int codePoint): int의 유니코드 코드 포인트를 나타내는 문자 배열을 반환합니다.

이러한 기술을 이해하면 int와 char 사이를 효과적으로 변환할 수 있습니다. Java에서는 정확한 변환을 보장하고 예상치 못한 결과를 방지합니다.

위 내용은 Java에서 Int를 Char로 변환하면 빈 출력이 반환되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿