はじめに
この実験では、Java の printf() メソッドを使用します。printf() メソッドは、文字列をフォーマットしてコンソールに出力するために使用されます。このメソッドの一般的な構文は次のとおりです。
プロジェクトディレクトリの設定
ターミナルを開き、次のコマンドを使用してプロジェクトディレクトリを作成します。
mkdir project
次のコマンドを使用して、プロジェクトディレクトリ内に新しいファイルを作成します。
touch project_formatting_printf.java
整数の書式設定
printf() を使用して整数をフォーマットするには、%d という書式指定子を使用します。以下に例を示します。
public static void main(String[] args) {
int num = 10;
System.out.printf("The number is: %d%n", num);
}
上記のコードでは、%d は整数の書式指定子で、%n は改行文字です。
次のコマンドを使用してコードをコンパイルし、実行します。
javac project_formatting_printf.java
java project_formatting_printf
次のような出力が表示されます。
The number is: 10
小数の書式設定
小数をフォーマットするには、%f という書式指定子を使用します。例えば:
public static void main(String[] args) {
double num = 3.14159265359;
System.out.printf("The number is: %.2f%n", num);
}
上記のコードでは、%.2f は小数点以下 2 桁の小数の書式指定子です。
次のコマンドを使用してコードをコンパイルし、実行します。
javac project_formatting_printf.java
java project_formatting_printf
次のような出力が表示されます。
The number is: 3.14
日付の書式設定
日付をフォーマットするには、変換文字として t を使用し、書式指定子を指定します。例えば:
public static void main(String[] args) {
Date date = new Date();
System.out.printf("Today is %tA, %<tB %<te, %<tY.%n", date);
}
上記のコードでは、%tA は曜日の完全な名前の書式指定子で、%<tB %<te, %<tY は月、日、年の書式指定子です。%n は改行文字です。
次のコマンドを使用してコードをコンパイルし、実行します。
javac project_formatting_printf.java
java project_formatting_printf
次のような出力が表示されます。
Today is Friday, October 15, 2021.
フラグの使用
フラグは、出力に特殊な機能を追加するために使用されます。例えば:
public static void main(String[] args) {
double num = 12345.6789;
System.out.printf("The number is: %,.2f%n", num);
}
上記のコードでは、, は千の位区切り記号で、%.2f は小数点以下 2 桁の小数の書式指定子です。
次のコマンドを使用してコードをコンパイルし、実行します。
javac project_formatting_printf.java
java project_formatting_printf
次のような出力が表示されます。
The number is: 12,345.68
精度の使用
精度は、小数点以下の桁数を制限するために使用されます。例えば:
public static void main(String[] args) {
double num = 1234.56789;
System.out.printf("The number is: %.2f%n", num);
}
上記のコードでは、%.2f は小数点以下 2 桁の小数の書式指定子です。
次のコマンドを使用してコードをコンパイルし、実行します。
javac project_formatting_printf.java
java project_formatting_printf
次のような出力が表示されます。
The number is: 1234.57
大文字の使用
出力を大文字で表示するには、変換文字の大文字を使用します。例えば:
public static void main(String[] args) {
String name = "John Doe";
System.out.printf("Name: %S%n", name);
}
上記のコードでは、%S は大文字の文字列の書式指定子です。
次のコマンドを使用してコードをコンパイルし、実行します。
javac project_formatting_printf.java
java project_formatting_printf
次のような出力が表示されます。
Name: JOHN DOE
パディングの使用
パディングを使用すると、出力にスペースやゼロを追加できます。例えば:
public static void main(String[] args) {
int num = 123;
System.out.printf("The number is: %010d%n", num);
}
上記のコードでは、%010d は 10 桁の整数の書式指定子で、パディング文字は 0 です。
次のコマンドを使用してコードをコンパイルし、実行します。
javac project_formatting_printf.java
java project_formatting_printf
次のような出力が表示されます。
The number is: 0000000123
書式指定子の組み合わせ
複数の書式指定子を組み合わせることで、出力を任意の形式に整形することができます。例えば:
public static void main(String[] args) {
double num = 1234.56789;
System.out.printf("The number is: %,010.2f%n", num);
}
上記のコードでは、%010.2f は小数点以下 2 桁、全体で 10 桁の小数の書式指定子で、パディング文字は 0 です。, は千の位区切り記号です。
次のコマンドを使用してコードをコンパイルし、実行します。
javac project_formatting_printf.java
java project_formatting_printf
次のような出力が表示されます。
The number is: 01,234.57
まとめ
おめでとうございます!「Formatting With Printf」の実験を完了しました。LabEx でさらに多くの実験を行い、スキルを向上させることができます。



