歩み

IT講師見習いのブログ。簡単な技術的な事を書いていきます。

Java入門-[標準出力(printf)]

printf関数について

printf関数は単純な標準出力だけでなく、書式を設定して出力することが出来る。

基本

class Main {
    public static void main(String[] args) {
        System.out.printf("Hello");
        System.out.printf("World!!");
    }
}

[実行結果]

HelloWorld!!

print()と同じで、printf()もデフォルトでは改行コードが付かない。
よってこの実行結果も改行はされない。

型の指定

printfは書式を埋め込みデータを出力する方法がある。
とりあえず以下の基本が使えれば問題ないだろう。

データ型 書式 記述方法 出力結果
int %d System.out.printf("%d", 1); 1
float %f System.out.printf("%f", 10.5f); 10.5
double %f System.out.printf("%f", 34.5); 34.5
boolean %b System.out.printf("%b", true); true
char %c System.out.printf("%c", 'A'); A
String %s System.out.printf("%s", "Hello"); Hello

改行コード(\n)

出力するのに改行がないと困るので、以下の方法を使用する。
※この記述方法はprint()、println()でも使用出来る。

class Main {
    public static void main(String[] args) {
        System.out.printf("Hello\n");
        System.out.printf("World!!");
    }
}

[実行結果]

Hello
World!!

桁数指定(%○型)

桁数指定で表示したい場合は以下の方法を用いる。

class Main {
    public static void main(String[] args) {
        int num1 = 10;
        int num2 = 100;
        System.out.printf("%5d\n", num1);
        System.out.printf("%5d\n", num2);
    }
}

[実行結果]

   10
  100

ドラッグしてもらうと分かるが、桁数に満たない場合は
それぞれ半角スペースで埋められている。

左寄せ(%-○型)

左寄せで桁数を指定する場合は以下の方法を用いる。

class Main {
    public static void main(String[] args) {
        int num1 = 10;
        int num2 = 100;
        System.out.printf("%-5d\n", num1);
        System.out.printf("%-5d\n", num2);
    }
}

[実行結果]

10   
100  

ドラッグしてもらうと分かるが、桁数に満たない場合はそれぞれ半角スペースで後ろが埋められている。
後ろのスペースは少し分かりづらいので、テキストエディタ等に張り付けて確認してほしい。

0埋め(%0○型)

0埋めで桁数を指定する場合は以下の方法を用いる。

class Main {
    public static void main(String[] args) {
        int num1 = 123;
        int num2 = 12;
        System.out.printf("%05d\n", num1);
        System.out.printf("%05d\n", num2);
    }
}

[実行結果]

00123
00012

これは分かりやすいかと思う。
どうしても埋めたい場合は使おう。