아래의 코드는 'A'의 ASCII 값을 반환하지만, (int)는 이해하지 못합니다.int가 대괄호 안에있는 경우 어떻게됩니까?
System.out.print ((int) 'A');
출력 : 65
아래의 코드는 'A'의 ASCII 값을 반환하지만, (int)는 이해하지 못합니다.int가 대괄호 안에있는 경우 어떻게됩니까?
System.out.print ((int) 'A');
출력 : 65
는 (int)
cast있다. char
글자 A
을 int
으로 전송하므로 2 바이트 표현이 65 바이트로 4 바이트 표현으로 확장됩니다.
그냥 char을 int로 변환합니다.
char character = 'a';
int ascii = (int) character;
[ "문자 리터럴은 UTF-16 코드 단위 만 나타낼 수 있습니다."] (https://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.10.4). UTF-16은 [Unicode] (http://www.unicode.org/charts/nameslist/index.html) 문자 세트의 문자 인코딩 중 하나입니다. ASCII와 같은 다른 문자 세트와의 유사성은 부적합합니다. –
sysout에서 'A'를 사용할 경우. 그대로 인쇄하는 것. 그러나 어떤 내부()와 함께 사용하면 위와 같이 캐스팅됩니다. 당신은 이것을 시도 할 수 있습니다.
System.out.println((Character)'A'); --> Prints A
System.out.println((Object)'A'); --> Prints A
System.out.println((float)'A'); --> 65.0
System.out.println((byte)'A'); --> 65
증명의 문제.
System.out.println((Integer)'A'); --> Cannot cast from char to Integer
System.out.println((Float)'A'); --> Cannot cast from char to Float
아주 기본적인 Java 튜토리얼이 필요합니다. Java에서 "캐스팅"을 연구하십시오. 구체적으로는 정수 유형에 관한 것입니다. –