以下はコードスニペットです。
int a = 1;
char b = (char) a;
System.out.println(b);
しかし、得られるのは空の出力です。
int a = '1';
char b = (char) a;
System.out.println(b);
出力として 1 が返されます。
誰かこれを説明してくれませんか? また、最初のスニペットのように int を char に変換したい場合は、どうすればいいでしょうか?
ベストアンサー1
int a = 1;
char b = (char) a;
System.out.println(b);
文字を印刷しますユニコードコードポイント1 (見出し開始文字、印刷不可。次の表を参照)C0 コントロールと基本ラテン語(ASCIIと同じ)
int a = '1';
char b = (char) a;
System.out.println(b);
Unicodeコードポイント49('1'に対応するもの)の文字を出力します。
数字 (0 ~ 9) を変換する場合は、それに 48 を加算してキャストするか、次のようにしますCharacter.forDigit(a, 10);
。
int
表示をUnicodeコードポイントに変換したい場合は、Character.toChars(48)
例えば。