0Pricing
Java Academy · レッスン

printfの基本

書式文字列と引数を学びます。

「printfの基本」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全4レッスンが含まれています。

printfを使う理由

ときには System.out.println だけでは不十分です。数値を揃えたり、小数部分を調整したり、値を文の中に挿入したりしたい場合があります。

System.out.printf を使うと、プレースホルダーを利用して書式設定された文字列を作成できます。これは "print formatted" の略です。

初めてのprintf

printf の呼び出しには、書式文字列と値を指定します。各プレースホルダーは % で始まります。

ここで %s は「ここに文字列を挿入する」という意味です。カンマの後にある値がその場所に入ります。

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

printfは改行を追加しない

println とは異なり、printf は自動的に改行を追加しません。カーソルを次の行へ移動したい場合は、自分で \n を追加します。

これを忘れると、2つの出力が同じ行でつながってしまいます。

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

%s指定子

%s は文字列用のプレースホルダーです。テキストだけでなく、ほとんどのオブジェクトにも使え、Java が自動的にテキストへ変換します。

1回の呼び出しで複数の %s を使うこともできます。値は左から右の順に対応します。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%s likes %s\n", "Ana", "Java");
    }
}

%d指定子

%d は整数(int または long)を書式設定します。d は「10進整数」を表します。

%d に 3.5 のような小数値を渡すとエラーになるため、%d は整数だけに使います。

public class Main {
    public static void main(String[] args) {
        int age = 25;
        System.out.printf("Age: %d\n", age);
    }
}

複数のプレースホルダー

指定子は自由に組み合わせられます。各プレースホルダーは、次の引数を順番に1つずつ受け取ります。

次の例では、%s が名前を受け取り、%d がスコアを受け取ります。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%s scored %d points\n", "Leo", 42);
    }
}

順序が重要

引数は、プレースホルダーが現れる正確な順序で対応します。最初の値は最初の % に、2番目の値は2番目の % に入り、その後も同様です。

値の順序を入れ替えると、出力の意味が変わります。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%d before %d\n", 1, 2);
    }
}

%%エスケープ

% はプレースホルダーの開始に使われます。それでは、パーセント記号そのものを出力するにはどうすればよいでしょうか。%% を使います。

書式文字列内の1つの %% は、出力では1つの % になります。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%d%% done\n", 80);
    }
}

よく使うエスケープ

書式文字列内では、通常のエスケープシーケンスを使えます。改行には \n、タブには \t を使います。

これらを使うと、値をきれいに区切ったり、新しい行へ移動したりできます。

public class Main {
    public static void main(String[] args) {
        System.out.printf("Name:\tBob\nCity:\tRome\n");
    }
}

printfとprintlnの比較

println は、1つの値をすばやく出力するのに適しています。printf は、値の表示形式を正確に制御したいときに活躍します。

目安として、プレースホルダー、配置、小数の制御が必要なときは printf を使います。

型の不一致

指定子は値の型と一致していなければなりません。テキストに %d を使ったり、数値の書式に %s を使ったりすると、エラーや予期しない出力の原因になります。

必ず %s はテキストと、%d は整数と組み合わせます。

理解度チェック

printf の基本を確認しましょう。

まとめ

System.out.printf、%s と %d のプレースホルダー、%% エスケープ、そして printf 自体は改行を追加しないことを学びました。

次は、精度を指定して数値や小数を書式設定します。

よくある質問

「printfの基本」レッスンは無料ですか?

はい。「printfの基本」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全4レッスンが含まれています。

「printfの基本」で何を学びますか?

書式文字列と引数を学びます。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「printfの基本」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. printfの基本
  2. 数値と小数の書式
  3. String.format
  4. 表を整列させる
← Java Academyに戻る