Java で整数を文字に変換する謎を明らかにする
Java で整数を文字に変換するのは一般的なタスクですが、そうでない場合は混乱する可能性があります正しく理解されました。この記事では、この変換に関係する複雑さを明らかにし、潜在的な問題の解決策を提供します。
空の出力の背後にある謎
以下のコード スニペットを考えてみましょう:
int a = 1; char b = (char) a; System.out.println(b);
この場合、出力は空の文字列になります。その理由は、Java で使用される Unicode エンコーディング スキームにあります。 (char) キャストを使用して整数 a が文字に変換されると、それは見出しの開始文字に対応する Unicode コード ポイント 1 として解釈されます。この文字は印刷できないため、空の出力になります。
The '1' Trick
対照的に、次のコード スニペットは文字「1」を印刷します。
int a = '1'; char b = (char) a; System.out.println(b);
これは、 a の初期化の一重引用符が文字リテラルを扱っていることを示しているためです。この場合、文字「1」は Unicode コード ポイント 49、つまり文字「1」に対応します。
数字を文字に変換
必要に応じて数字 (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'
Unicode コード ポイントを文字に変換する
Unicode コード ポイントを表す整数を文字に変換するには、Character.toChars() を使用できます。 method:
int codePoint = 65; char[] chars = Character.toChars(codePoint); char c = chars[0]; System.out.println(c); // Output: 'A'
これらのテクニックを理解することで、混乱や予期せぬ出力を避けて、自信を持って Java で整数を文字に変換できます。
以上がJava で「1」を文字に変換すると空の出力が得られるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。