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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- printfの基本
- 数値と小数の書式
- String.format
- 表を整列させる