• 【JavaSE】格式化输出


    Java格式化输出


    2019-07-06  11:35:55  by冲冲

    1. 输出字符串 %s

     1         /*** 输出字符串 ***/
     2         // %s表示输出字符串,也就是将后面的字符串替换模式中的%s
     3         System.out.printf("%s", new Integer(1212));
     4         // %n表示换行
     5         System.out.printf("%s%n", "end line");
     6         // 还可以支持多个参数
     7         System.out.printf("%s = %s%n", "Name", "Zhangsan");
     8         // %S将字符串以大写形式输出
     9         System.out.printf("%S = %s%n", "Name", "Zhangsan");
    10         // 支持多个参数时,可以在%s之间插入变量编号,1$表示第一个字符串,3$表示第3个字符串
    11         System.out.printf("%1$s = %3$s %2$s%n", "Name", "san", "Zhang");

    输出结果:

    1 1212end line
    2 Name = Zhangsan
    3 NAME = Zhangsan
    4 Name = Zhang san

     

    2. 输出布尔值 %b

    1         /*** 输出boolean类型 ***/
    2         System.out.printf("true = %b; false = ", true);
    3         System.out.printf("%b%n", false);

    输出结果:

    1 true = true; false = false

    3. 输出整数 

     1         /*** 输出整数类型 ***/
     2         Integer iObj = 342;
     3         // %d表示将整数格式化为10进制整数
     4         System.out.printf("%d; %d; %d%n", -500, 2343L, iObj);
     5         // %o表示将整数格式化为8进制整数
     6         System.out.printf("%o; %o; %o%n", -500, 2343L, iObj);
     7         // %x表示将整数格式化为16进制整数
     8         System.out.printf("%x; %x; %x%n", -500, 2343L, iObj);
     9         // %X表示将整数格式化为16进制整数,并且字母变成大写形式
    10         System.out.printf("%X; %X; %X%n", -500, 2343L, iObj);

    输出结果:

    1 -500; 2343; 342
    2 37777777014; 4447; 526
    3 fffffe0c; 927; 156
    4 FFFFFE0C; 927; 156

    4. 输出浮点数

     1         /*** 输出浮点类型 ***/
     2         Double dObj = 45.6d;
     3         // %e表示以科学计数法输出浮点数
     4         System.out.printf("%e; %e; %e%n", -756.403f, 7464.232641d, dObj);
     5         // %E表示以科学计数法输出浮点数,并且为大写形式
     6         System.out.printf("%E; %E; %E%n", -756.403f, 7464.232641d, dObj);
     7         // %f表示以十进制格式化输出浮点数
     8         System.out.printf("%f; %f; %f%n", -756.403f, 7464.232641d, dObj);
     9         // 还可以限制小数点后的位数
    10         System.out.printf("%.1f; %.3f; %f%n", -756.403f, 7464.232641d, dObj);

    输出结果:

    1 -7.564030e+02; 7.464233e+03; 4.560000e+01
    2 -7.564030E+02; 7.464233E+03; 4.560000E+01
    3 -756.403015; 7464.232641; 45.600000
    4 -756.4; 7464.233; 45.600000

    5. 输出日期|时间|星期

    (1)日期

     1         /*** 输出日期类型 ***/
     2         // %t表示格式化日期时间类型,%T是时间日期的大写形式,在%t之后用特定的字母表示不同的输出格式
     3         Date date = new Date();
     4         long dataL = date.getTime();
     5         // 格式化年月日
     6         // %t之后用y表示输出日期的年份(2位数的年,如99)
     7         // %t之后用m表示输出日期的月份,%t之后用d表示输出日期的日号
     8         System.out.printf("%1$ty-%1$tm-%1$td; %2$ty-%2$tm-%2$td%n", date, dataL);
     9         // %t之后用Y表示输出日期的年份(4位数的年),
    10         // %t之后用B表示输出日期的月份的完整名, %t之后用b表示输出日期的月份的简称
    11         System.out.printf("%1$tY-%1$tB-%1$td; %2$tY-%2$tb-%2$td%n", date, dataL);
    12 
    13         // 以下是常见的日期组合
    14         // %t之后用D表示以 "%tm/%td/%ty"格式化日期
    15         System.out.printf("%1$tD%n", date);
    16         // %t之后用F表示以"%tY-%tm-%td"格式化日期
    17         System.out.printf("%1$tF%n", date);

    输出结果:

    1 19-07-06; 19-07-06
    2 2019-七月-06; 2019-七月-06
    3 07/06/19
    4 2019-07-06

    (2)时间

     1         /*** 输出时间类型 ***/
     2         // 输出时分秒
     3         // %t之后用H表示输出时间的时(24进制),%t之后用I表示输出时间的时(12进制),
     4         // %t之后用M表示输出时间的分,%t之后用S表示输出时间的秒
     5         System.out.printf("%1$tH:%1$tM:%1$tS; %2$tI:%2$tM:%2$tS%n", date, dataL);
     6         // %t之后用L表示输出时间的秒中的毫秒
     7         System.out.printf("%1$tH:%1$tM:%1$tS %1$tL%n", date);
     8         // %t之后p表示输出时间的上午或下午信息
     9         System.out.printf("%1$tH:%1$tM:%1$tS %1$tL %1$tp%n", date);
    10 
    11         // 以下是常见的时间组合
    12         // %t之后用R表示以"%tH:%tM"格式化时间
    13         System.out.printf("%1$tR%n", date);
    14         // %t之后用T表示以"%tH:%tM:%tS"格式化时间
    15         System.out.printf("%1$tT%n", date);
    16         // %t之后用r表示以"%tI:%tM:%tS %Tp"格式化时间
    17         System.out.printf("%1$tr%n", date);

    输出结果:

    1 22:56:27; 10:56:27
    2 22:56:27 096
    3 22:56:27 096 上午
    4 22:56
    5 22:56:27
    6 10:56:27 上午

    (3)星期

    1         /*** 输出星期 ***/
    2         // %t之后用A表示得到星期几的全称
    3         System.out.printf("%1$tF %1$tA%n", date);
    4         // %t之后用a表示得到星期几的简称
    5         System.out.printf("%1$tF %1$ta%n", date);
    6 
    7         // 输出时间日期的完整信息
    8         System.out.printf("%1$tc%n", date);

    输出结果:

    1 2019-07-06 星期六
    2 2019-07-06 星期六
    3 星期六 七月 06 10:56:27 CST 2019

    参考:

    https://www.runoob.com/w3cnote/java-printf-formate-demo.html

  • 相关阅读:
    DGA域名可以是色情网站域名
    使用cloudflare加速你的网站隐藏你的网站IP
    167. Two Sum II
    leetcode 563. Binary Tree Tilt
    python 多线程
    leetcode 404. Sum of Left Leaves
    leetcode 100. Same Tree
    leetcode 383. Ransom Note
    leetcode 122. Best Time to Buy and Sell Stock II
    天津Uber优步司机奖励政策(12月28日到12月29日)
  • 原文地址:https://www.cnblogs.com/yadiel-cc/p/11142283.html
Copyright © 2020-2023  润新知