Understanding Int-to-Char Conversion in Java
In Java, converting an integer to a character involves casting, but the process can be nuanced.
int a = 1; char b = (char) a; System.out.println(b);
This code snippet produces an empty output because it converts the integer 1 to its corresponding Unicode code point, which is the start-of-heading character (not printable).
To convert a single digit to a character, add 48 before casting:
int a = 1; char b = (char) (a + 48); System.out.println(b); // Outputs '1'
This works because '1' in ASCII code is 49, which is 1 48.
However, if you mistakenly use int a = '1';, you will be creating a char literal, not an integer variable:
int a = '1'; char b = (char) a; System.out.println(b); // Outputs '1'
In this case, the code will work correctly because you are directly converting a char literal to a char.
To convert an int representing a Unicode code point to a char, use Character.toChars():
int codePoint = 48; char[] chars = Character.toChars(codePoint); System.out.println(chars[0]); // Outputs the character with Unicode code point 48
The above is the detailed content of How Does Int-to-Char Conversion Work in Java?. For more information, please follow other related articles on the PHP Chinese website!