Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのString.format()メソッドの使い方を徹底解説

Javaのjava.lang.Stringクラスが提供するformat()メソッドは、フォーマット文字列と引数の配列を受け取り、指定した書式に従って整形された文字列を返す便利なメソッドです。数値や日付、文字列などを自由にフォーマットできるため、実務でも頻繁に利用されます。

使用例1:日付をフォーマットする

次の例では、format()メソッドを使って日付情報を整形して出力しています。

import java.util.Calendar;
import java.util.GregorianCalendar;
public class Test {
    public static void main(String args[]){
        // GregorianCalendarのインスタンスを生成
        Calendar cal = GregorianCalendar.getInstance();
        System.out.println("Date: "+cal.get(Calendar.DATE));
        System.out.println("Month: "+cal.get(Calendar.MONTH));
        System.out.println("Year: "+cal.get(Calendar.YEAR));
        Object arr[] = { "Date", cal };
        System.out.println("Desired Format: ");
        System.out.println(String.format("%1$s = %2$tY %2$tm %2$te", arr));
    }
}

出力結果

Date: 7
Month: 10
Year: 2020
Desired Format:
Date = 2020 11 7

この例では、%1$s%2$tYのように「引数の位置$」を指定することで、同じ引数(Calendarオブジェクト)を複数回参照しています。%tYは年、%tmは月、%teは日を表す日付用の変換指定子です。

使用例2:数値をゼロ埋めで表示する

次の例では、整数値の先頭を0で埋めて7桁で表示しています。

public class Demo {
    public static void main(String []args){
        int val = 1254;
        String str = String.format("%07d", val);
        System.out.println(str);
    }
}

出力結果

0001254

%07dのように桁数を指定すると、足りない分が自動的に0で埋められます。IDやコード番号など、固定桁数で表示したい場合に非常に便利です。

使用例3:主なデータ型ごとのフォーマット指定子

以下の例では、代表的なデータ型に対応する変換指定子を紹介します。

public class Demo {
    public static void main(String []args){
        String str = String.format("%d", 245);
        System.out.println(str);
        str = String.format("%s", "Welcome to Tutorialspoint");
        System.out.println(str);
        str = String.format("%f", 126.54);
        System.out.println(str);
        str = String.format("%c", 't');
        System.out.println(str);
    }
}

出力結果

245
Welcome to Tutorialspoint
126.540000
t

主な変換指定子の一覧

  • %d:整数値(int、longなど)を10進数で表示
  • %s:文字列をそのまま表示
  • %f:浮動小数点数(float、double)を表示(デフォルトで小数点以下6桁)
  • %c:1文字(char)を表示
  • %tY / %tm / %te:日付の年・月・日をそれぞれ表示

このように、String.format()メソッドを使いこなせば、数値の桁揃えや日付の整形など、さまざまな場面で読みやすい出力を簡単に実現できます。

  1. JavaのMath.random()メソッド徹底解説!乱数生成の基本から範囲指定まで

    JavaのMath.random()メソッドは、0.0以上1.0未満の擬似乱数(疑似ランダムな数値)を生成するためのメソッドです。生成された乱数に別の数値を掛けることで、0〜1以外の任意の範囲の乱数を取得することもできます。結果が0になることはあっても、1以上になることはありません。 プログラミングで乱数が必要になる場面 プログラミングをしていると、ランダムな数値を生成したい場面によく出会います。例えば、クルーズ船会社を運営しているとしましょう。顧客の注文番号として使う予約参照番号をランダムに生成したり、数当てゲーム用のランダムな数字を作りたいといったケースが考えられます。 Javaには、乱

  2. Javaで文字列を比較する方法|equals()とequalsIgnoreCase()の使い分けを徹底解説

    Javaで文字列の等価性を比較する際は、Stringクラスが提供するequalsメソッドまたはequalsIgnoreCaseメソッドを使用するのが基本です。この記事では、それぞれのメソッドの使い方に加えて、==演算子で文字列を比較してはいけない理由についても詳しく解説します。 equals()メソッドで文字列を比較する 2つの文字列を比較し、大文字と小文字の違いまで厳密に判定したい場合はequals()メソッドを使用します。 次のコード例では、2つのStringインスタンスが大文字小文字を含むすべての文字において一致しているかどうかを判定しています。 public class Compare