数を文字として表示するには型変換
プログラミングを始めたばかりの頃に悩むのが
なぜ「型」なんてものがあるのだろうか?ということです。
毎度、管理人イガジーです。
コンピュータの内部では全ては数値ですから、「文字」なんてものはありません。
人が「この数値は文字を表すことにしよう」と決めたものが「文字」型です。
C言語では、文字と数値の違いは緩やかで、あまり区別しませんが
Javaは割と頑固です。次の例を見て頂ければ、「型」の意味が分かる
かもしれません。
例えば、0x61 を文字コードとみなすと’a’(半角小文字のa)なのですが
int d=0x61; System.out.println(d);
を実行すると
97
と表示されます。これは、int d=0x61; System.out.println(Integer.toString(d));
したのと同じです。
「文字として扱え」と指定するには 型を char にして
char c=0x61; System.out.println(c);
を実行すると
a
と表示されます。char は「文字」として処理されるわけです。
これは、char c=0x61; System.out.println(Character.toString(c));
したのと同じです。
int 型の変数を(1文字の)文字列(String)に変換するには
いくつかの方法がありますが、int d=0x61; に対して
String s=Character.toString((char)d)
とするのが簡単でしょう。
その結果、s は、”a” になります。
その他の方法としては
String s=String.format("%c",d);
や
char []t=new char [1];
t[0]=(char)d;
String s=new String(t);
でも可能ですが、イマイチですね。
この記事へのコメントはこちら