Javaプログラミング学習サイト ゆるゆるプログラミング

2021/08/04 公開

・書式指定でコンソール出力

Javaには、変数クラスに格納されている値をコンソール画面に出力するメソッドが用意されいてます。

printfメソッドは、指定した書式で変数を出力することができます。例えば、桁数の指定、0埋め、右詰めなどです。

書式は、フォーマット指定子と文字を組み合わせた文字列で指定します。書式のフォーマット指定子の順番どおりに、書式の後に変数定数でも良い)を指定します。その際、指定子の数と型を合わせる必要があります。

    System.out.prinft( 書式, 変数, …, 変数 );

以下の例は、int型変数aを出力する例です。"%d"は整数値に対応するフォーマット指定子で、この部分が変数aの値に変わります。

    int a = 100;
    System.out.prinft( "%d", a );

 出力結果

100

変数aの値が出力されます。この指定では、変数aの桁数に合わせて出力されます。

次の例は、フォーマット指定子と文字を組み合わせた例です。

    int a = 100;
    System.out.prinft( "変数aの値は、%d", a );

 出力結果

変数aの値は、100

"変数aの値は、"の部分はそのままで、"%d"の部分が変数aの値に変わっています。

次は、フォーマット指定子2つと文字を組み合わせた例です。整数型の変数aと実数型の変数bを出力しています。

    int a = 100;
    double b = 123.4567;
    System.out.prinft( "a=%d  b=%f", a, b );

 出力結果

a=100 b=123.456700;

"%d"が変数a、"%f"が変数bの値に変わっています。"%d"は整数、"%f"は実数に対応する指定子です。この例の場合、出力する桁数を書式で指定していないので小数以下の桁数は、値によって変わります。

以下にフォーマット指定子と対応する変数型をまとめました。ここでは、桁数などの指定については書いていません。

指定子 対応する変数型 説明
%d int,long,short,byte 整数を10進数で出力
%f float,double 実数を出力
%c char 文字を出力
%s String 文字列を出力

ここから、基本的なフォーマット指定子を使ったJavaのソースコード例を紹介します。これらのソースは、いろいろな型の変数に値を代入し、その変数コンソール出力するものです。また、printfメソッド改行しないので、printlnメソッド改行しています。

PrintfSampleD.java ← クリックしてダウンロードページに移動
001:    public class PrintfSampleD {
002:    	public static void main( String[] args ) {
003:    		// フォーマット指定子"%d"を使用
004:    		int   i = 123;
005:    		long  l = 123;
006:    		short s = 123;
007:    		byte b = 123;
008:    
009:    		// int型の変数を出力
010:    		System.out.printf( "%d", i );
011:    		System.out.println();
012:    
013:    		// long型の変数を出力
014:    		System.out.printf( "%d", l );
015:    		System.out.println();
016:    
017:    		// short型の変数を出力
018:    		System.out.printf( "%d", s );
019:    		System.out.println();
020:    
021:    		// byte型の変数を出力
022:    		System.out.printf( "%d", b );
023:    		System.out.println();
024:    	}
025:    }

PrintfSampleD.javaの出力結果

123
123
123
123

int型long型short型byte型変数の値が、フォーマット指定子"%d"で出力されています。

PrintfSampleF.java ← クリックしてダウンロードページに移動
001:    public class PrintfSampleF {
002:    	public static void main( String[] args ) {
003:    		// フォーマット指定子"%f"を使用
004:    		float f = 123.4567f;
005:    		double d = 123.4567;
006:    
007:    		// float型の変数を出力
008:    		System.out.printf( "%f", f );
009:    		System.out.println();
010:    
011:    		// double型の変数を出力
012:    		System.out.printf( "%f", d );
013:    		System.out.println();
014:    	}
015:    }

PrintfSampleF.javaの出力結果

123.456703
123.456700

float型double型変数の値が、フォーマット指定子"%f"で出力されています。float型の値が"123.4567"でないのは、float型で持てる値に誤差があるからです。ここでは詳しく説明しません。

PrintfSampleS.java ← クリックしてダウンロードページに移動
001:    public class PrintfSampleS {
002:    	public static void main( String[] args ) {
003:    		// フォーマット指定子"%s"を使用
004:    		String s = "ABCDEFG";
005:    
006:    		// String型の変数を出力
007:    		System.out.printf( "%s", s );
008:    		System.out.println();
009:    	}
010:    }

PrintfSampleS.javaの出力結果

ABCDEFG

String型の値が、フォーマット指定子"%s"で出力されています。

PrintfSampleC.java ← クリックしてダウンロードページに移動
001:    public class PrintfSampleC {
002:    	public static void main( String[] args ) {
003:    		// フォーマット指定子"%c"を使用
004:    		char c = 'A';
005:    
006:    		// charg型の変数を出力
007:    		System.out.printf( "%c", c );
008:    		System.out.println();
009:    	}
010:    }

PrintfSampleC.javaの出力結果

A

char型変数の値が、フォーマット指定子"%c"で出力されています。

以上です。

■関連コンテンツ

簡単なプログラミング 簡単なJavaプログラムと実行方法について解説
コンソール 制御装置?
文字列の中で改行 文字列に改行を埋め込むには?
値のコンソール表示 print()、println()とは?
九九(くく)の表を書式指定で-画像

九九(くく)の表を作る4

printfで書式を指定して、九九の表を作成する方法を説明

■新着情報

2021.08.04 書式指定でコンソール出力 printf()とは?

■広告

 

 

 

 

 

スッキリわかるJava入門第3版 [ 中山清喬 ]

価格:2,860円
(2021/6/18 14:32時点)
感想(6件)

 

 

 

Topへ