java在控制檯的格式化輸出

package com.liming.review;
import java.util.Date;

public class Printf {
	/**
	 * 演示java中在控制檯的格式化輸出
	 * @author LiMing
	 * @since 2012/01/24
	 * */
	public static void main(String[] args) {

		/**
		 * 常用標識符
		 * %b 布爾值                 
		 * %d 十進制
		 * %c 字符
		 * %s 字符串
		 * %f 浮點數
		 * %e 標準科學計數法 
		 * */
		
		System.out.printf("%s","LiMing");

		/**
		 *%n 表示換行  亦可以使用System.out.println()
		 *%S 將字符串以大寫形式輸出
		 *支持多參數輸出
		 *多參數輸出時例如
		 *System.out.printf(format,item1,item2,item3...); format 是指一個字串以及格式標識符構成的字符串
		 *條目必須與format中指定的格式標識符對應
		 **/
		System.out.printf("%n%s%n", "end line");
		System.out.printf("%s = %s%n", "Name", "Zhangsan");
		System.out.printf("%S = %s%n", "Name", "Zhangsan");
		
		// 支持多個參數時,可以在%s之間插入變量編號,1$表示第一個字符串,3$表示第3個字符串
		System.out.printf("%1$s = %3$s %2$s%n", "Name", "san", "Zhang");
		System.out.printf("true = %b; false = ", true);
		System.out.printf("%b%n", false);

		/**@整數的格式化輸出
		 * %d表示將整數格式化爲10進制整數
		 * %o表示將整數格式化爲8進制整數
		 * %x表示將整數格式化爲16進制整數
		 * %X表示將整數格式化爲16進制整數,並且字母變成大寫形式
		 * */
		Integer iObj=100;
		System.out.printf("%d;%d;%d%n", -100, 1234L, iObj);
		System.out.printf("%o; %o; %o%n", -100, 1234L, iObj); 
		System.out.printf("%x; %x; %x%n", -100, 1234L, iObj);
		System.out.printf("%X; %X; %X%n", -100, 1234L, iObj);

		/**@浮點數格式化輸出
		 * %e表示以科學技術法輸出浮點數
		 * %E表示以科學技術法輸出浮點數,並且爲大寫形式
		 * %f表示以十進制格式化輸出浮點數,還可以限制小數點後的位數
		 * %10.2f 其中10代表域寬度,即輸出字符所佔的寬度;2表示精度,即小數點之後的位數;f表示格式描述符
		 * */

		Double dObj = 12.34;
		System.out.printf("%e; %e; %e%n", -123.456f, 7464.232641d, dObj);
		System.out.printf("%E; %E; %E%n", -123.456f, 7464.232641d, dObj);
		System.out.printf("%f; %f; %f%n", -123.456f, 7464.232641d, dObj);
		System.out.printf("%.1f; %.3f; %f%n", -123.456f, 7464.232641d, dObj);
		System.out.printf("%10.2f;%5.3f%n%n", 123.4,123.4);

		
		/**
		 * @時間的格式化輸出
		 * %t 表示格式化日期時間類型,%T是時間日期的大寫形式,在%t之後用特定的字母表示不同的輸出格式 
		 * %t之後用y表示輸出日期的年份(2位數的年,如99)
	         * %t之後用m表示輸出日期的月份,
	         * %t之後用d表示輸出日期的日號
	         * %t之後用Y表示輸出日期的年份(4位數的年),
		 * %t之後用B表示輸出日期的月份的完整名, %t之後用b表示輸出日期的月份的簡稱
		 * %t之後用D表示以 "%tm/%td/%ty"格式化日期
		 * %t之後用F表示以"%tY-%tm-%td"格式化日期
		 * %t之後用H表示輸出時間的時(24進制),%t之後用I表示輸出時間的時(12進制)
		 * %t之後用M表示輸出時間的分,%t之後用S表示輸出時間的秒
		 * %t之後用L表示輸出時間的秒中的毫秒
		 * %t之後p表示輸出時間的上午或下午信息
		 * %t之後用R表示以"%tH:%tM"格式化時間
		 * %t之後用T表示以"%tH:%tM:%tS"格式化時間
		 * %t之後用r表示以"%tI:%tM:%tS %Tp"格式化時間
		 * %t之後用A表示得到星期幾的全稱
		 * %t之後用a表示得到星期幾的簡稱
	         * */
		Date date = new Date();
		long dataL = date.getTime();
		System.out.printf("%1$ty-%1$tm-%1$td%n", date);
		System.out.printf("%1$td-%1$tm-%1$ty%n", date);
		System.out.printf("%1$td-%1$tm-%1$ty%n", date);
		System.out.printf("%1$tY-%1$tB-%1$td%n", date);
		
		System.out.printf("%1$tD%n", date);
		System.out.printf("%1$tF%n", date);
		System.out.printf("%1$tH:%1$tM:%1$tS; %2$tI:%2$tM:%2$tS%n", date, dataL);
		System.out.printf("%1$tH:%1$tM:%1$tS %1$tL%n", date);
		System.out.printf("%1$tH:%1$tM:%1$tS %1$tL %1$tp%n", date);
		System.out.printf("%1$tR%n", date);
		System.out.printf("%1$tT%n", date);
		System.out.printf("%1$tr%n", date);
		System.out.printf("%1$tF %1$tA%n", date);
		System.out.printf("%1$tF %1$ta%n", date);
		System.out.printf("%1$tc%n", date);
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章