Javaのprintfなどの書式(format)説明は分かりにくい
C言語を使っていた経験があれば、Javaの習得はかなり短期間で
済むと思います。また、Javaから始めても、あとでC言語を学ぶのが
楽になるでしょう。
毎度、管理人イガジーです。
デバッグなどでもよく使う System.out.printf()の書式(format)は
C言語とほぼ同じだと思っているのですが、Javaのドキュメントには
どう書かれているかを探してみると、Formatterクラス にありました。
しかし、ある程度知っている管理人イガジーが見ても、よくわかりません。
とても難しい書き方になっている感じです。
簡単に書けば、”%d” で10進数表示、”%x”で16進表示です。
16進数の場合は、”%X”とするとA-F が大文字になります。
(”%x”なら a-f と小文字。このドキュメントを見るまで知らなかったのですが、
“%h”, “%H”でも16進数表示になるのですね。)
“%4d” というように数字を入れると、指定の桁数(4桁)になるように
右詰めになります。(即ち、空白でパディングされます。)
“%04d”と、0(ゼロ)付きにすると、0でパディングされます。
説明を読むより、実際に動かしてみるのが早いでしょうから
サンプルプログラムを書いておきます。
public class Formats {
String fmt[]={
"%d\n",
"%4d\n",
"%04d\n",
"%x\n",
"%4x\n",
"%04x\n",
"%X ",
"%h ",
"%H\n"
};
Formats(){
int a=123;
for (int i=0;i<fmt.length;++i) {
System.out.printf(fmt[i], a);
}
}
public static void main(String[] args) {
new Formats();
}
}
↑を実行すると
123
123
0123
7b
7b
007b
7B 7b 7B
となります。
この記事へのコメントはこちら