Java에서 정수를 문자로 변환하는 미스터리
Java에서 정수를 문자로 변환하는 것은 일반적인 작업이지만 그렇지 않으면 혼란스러울 수 있습니다. 올바르게 이해했습니다. 이 문서에서는 이 변환과 관련된 복잡한 사항을 조명하고 잠재적인 문제에 대한 솔루션을 제공합니다.
빈 출력 뒤에 숨은 미스터리
아래 코드 조각을 고려하세요.
int a = 1; char b = (char) a; System.out.println(b);
이 경우 출력은 빈 문자열이 됩니다. 그 이유는 Java에서 사용하는 유니코드 인코딩 체계에 있습니다. 정수 a가 (char) 캐스트를 사용하여 문자로 변환되면 제목 시작 문자에 해당하는 유니코드 코드 포인트 1로 해석됩니다. 이 문자는 인쇄할 수 없으므로 빈 출력이 됩니다.
'1' 트릭
반대로 다음 코드 조각은 문자 "1"을 인쇄합니다.
int a = '1'; char b = (char) a; System.out.println(b);
초기화의 작은따옴표는 문자 리터럴을 다루고 있음을 나타내기 때문입니다. 이 경우 문자 '1'은 문자 "1"인 유니코드 코드 포인트 49에 해당합니다.
숫자를 문자로 변환
원하는 경우 숫자(0-9)를 문자로 변환하려면 숫자에 48을 추가한 다음 문자로 타입캐스트할 수 있습니다.
int digit = 7; char c = (char) (digit + 48); System.out.println(c); // Output: '7'
또는 Character.forDigit() 메서드를 사용할 수 있습니다.
int digit = 7; char c = Character.forDigit(digit, 10); System.out.println(c); // Output: '7'
유니코드 코드 포인트를 문자로 변환
유니코드 코드 포인트를 나타내는 정수를 문자로 변환하려면 Character.toChars()를 사용할 수 있습니다. 방법:
int codePoint = 65; char[] chars = Character.toChars(codePoint); char c = chars[0]; System.out.println(c); // Output: 'A'
이러한 기술을 이해하면 혼란이나 예상치 못한 출력을 피하면서 정수를 Java의 문자로 자신있게 변환할 수 있습니다.
위 내용은 Java에서 '1'을 문자로 변환하면 빈 출력이 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!