package com.zf.s11;//创建一个包
import java.util.Date;
public class TextPrintf {// 操作printf()方法的类
public static void printString(){//输出不同格式字符串
System.out.printf("%s", "这是一个字符串");// %s表示输出字符串,将后面字符串替换%s
System.out.printf("%s%n", "end line");// %n表示换行
System.out.printf("%s = %s%n", "folk", "HanZu");// 还可以支持多个参数
System.out.printf("%S = %s%n", "folk", "Han Nationality");// %S将字符串以大写形式输出
// 支持多个参数时,可以在%s之间插入变量编号,1$表示第一个字符串,3$表示第3个字符串
System.out.printf("%1$s = %3$s %2$s%n",
"folk", "Nationality", "Han");
}
public static void printBoolean(){//输出不同格式的布尔类型
System.out.printf("true = %b; false = ", true);//%b表示输出布尔类型
System.out.printf("%b%n", false);//%表示换行
}
public static void printInt(){//输出不同格式的整数
Integer obj = 36;
System.out.printf("%d; %d; %d%n",
-10, 23L,obj);// %d表示将整数格式化为10进制整数
System.out.printf("%o; %o; %o%n",
-10, 23L, obj);// %o表示将整数格式化为8进制整数
System.out.printf("%x; %x; %x%n",
-10, 23L, obj);// %x表示将整数格式化为16进制整数
System.out.printf("%X; %X; %X%n",
-10, 23L, obj);// %X表示将整数格式化为16进制整数,并且字母变成大写形式
}
public static void printFloatingPoint(){//输出不同格式的浮点类型
Double obj = 3.2d;
System.out.printf("%e; %e; %e%n",// %e表示以科学技术法输出浮点数
-72.000f, 123.23456d, obj);
System.out.printf("%E; %E; %E%n", // %E表示以科学技术法输出浮点数,并且为大写形式
-72.000f, 123.23456d, obj);
System.out.printf("%f; %f; %f%n",// %f表示以十进制格式化输出浮点数
-72.000f, 123.23456d, obj);
System.out.printf("%.1f; %.3f; %f%n",// 还可以限制小数点后的位数
-72.000f, 123.23456d, obj);
}
public static void printTime(){//输出不同格式的日期
Date date = new Date();
long time = date.getTime();
// 格式化年月日
//%t表示格式化日期时间类型
//%T是时间日期的大写形式
// %t之后用y表示输出日期的年份(2位数的年,如99)
// %t之后用m表示输出日期的月份,%t之后用d表示输出日期的日号
System.out.printf("%1$ty-%1$tm-%1$td; %2$ty-%2$tm-%2$td%n", date, time);
// %t之后用Y表示输出日期的年份(4位数的年),
// %t之后用B表示输出日期的月份的完整名, %t之后用b表示输出日期的月份的简称
System.out.printf("%1$tY-%1$tB-%1$td; %2$tY-%2$tb-%2$td%n", date, time);
// %t之后用D表示以 "%tm/%td/%ty"格式化日期
System.out.printf("%1$tD%n", date);
// %t之后用F表示以"%tY-%tm-%td"格式化日期
System.out.printf("%1$tF%n", date);
// 输出时分秒
// %t之后用H表示输出时间的时(24进制),%t之后用I表示输出时间的时(12进制),
// %t之后用M表示输出时间的分,%t之后用S表示输出时间的秒
System.out.printf("%1$tH:%1$tM:%1$tS; %2$tI:%2$tM:%2$tS%n", date, time);
// %t之后用L表示输出时间的秒中的毫秒
System.out.printf("%1$tH:%1$tM:%1$tS %1$tL%n", date);
// %t之后p表示输出时间的上午或下午信息
System.out.printf("%1$tH:%1$tM:%1$tS %1$tL %1$tp%n", date);
// 以下是常见的时间组合
// %t之后用R表示以"%tH:%tM"格式化时间
System.out.printf("%1$tR%n", date);
// %t之后用T表示以"%tH:%tM:%tS"格式化时间
System.out.printf("%1$tT%n", date);
// %t之后用r表示以"%tI:%tM:%tS %Tp"格式化时间
System.out.printf("%1$tr%n", date);
// %t之后用A表示得到星期几的全称
System.out.printf("%1$tF %1$tA%n", date);
// %t之后用a表示得到星期几的简称
System.out.printf("%1$tF %1$ta%n", date);
// 输出时间日期的完整信息
System.out.printf("%1$tc%n", date);
}
public static void main(String[] args) {//java程序主入口处
System.out.println("1.输出不同格式字符串");
printString();//调用方法
System.out.println("2.输出不同格式的布尔值");
printBoolean();//调用方法
System.out.println("3.输出不同格式的整数");
printInt();//调用方法
System.out.println("4.输出不同格式的浮点型");
printFloatingPoint();//调用方法
System.out.println("5.输出不同格式的日期类型");
printTime();//调用方法s
}
}