【Java 笔记】 java 格式化输出
   public static void main(String[] args) {
        /**
         * 格式化形式
         * %[argument_index$][flags][width][.precision]conversion
         *
         * argument_index: 可选,是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。
         *
         * flags: 可选,用来控制输出格式
         *
         * width: 可选,是一个正整数,表示输出的最小长度
         *
         * precision:可选,用来限定输出的精度
         *
         * conversion:必须,用来表示如何格式化参数的字符
         */
        /**
         * argument_index$
         * %2$s 表示第二个参数输出字符串类型
         */
        /**
         * flags是可选参数,用于控制输出的格式,比如左对齐、金额用逗号隔开。
         *
         * '-' 在最小宽度内左对齐,不可以与“用0填充”同时使用
         * '+' 结果总是包括一个符号
         * ' ' 正值前加空格,负值前加负号
         * '0' 结果将用零来填充
         * ',' 每3位数字之间用“,”分隔(只适用于fgG的转换)
         * '(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(只适用于eEfgG的转换)
         */
        /**
         * width是可选参数,用于控制输出的宽度。
         * %5d %5s
         */
        /**
         * precision是可选参数,用来限定输出的精度,用于浮点数。
         *  %.5f
         */
        /**
         * 各种 conversion
         *
         * %s   字符串类型           "mingrisoft"
         * %c   字符类型             'm'
         * %b   布尔类型             true
         * %d   整数类型 - 十进制       99
         * %x   整数类型 - 十六进制     FF
         * %o   整数类型 - 八进制      77
         * %f   浮点类型              99.99
         * %a   十六进制浮点类型        FF.35AE
         * %e   指数类型                9.38e+5
         * %g   通用浮点类型: f和e类型中较短的
         * %h   散列码
         * %%   百分比类型   %
         * %n   换行符
         * %tx  日期与时间类型(x代表不同的 <日期> 与 <时间> 转换符)
         *
         * 注: 日期时间的格式输出一般使用另外的库的相关类来构造, 不采用这种方式
         * 日期转换符
         *
         * c        包括全部日期和时间信息         星期六 十月 27 14:21:20 CST 2007
         * F        “年-月-日”格式               2007-10-27
         * D        “月/日/年”格式               10/27/07
         * r        “HH:MM:SS PM”格式(12时制)   02:25:51 下午
         * T        “HH:MM:SS”格式(24时制)      14:28:16
         * R        “HH:MM”格式(24时制)         14:28
         * B/b/h    本地化显示月份字符串
         * A/a      本地化显示星期字符串
         * C        年份除以100的结果, 不足俩位补 0
         * Y/y      四位年份和2位年份
         * j        显示公历年的第几天
         * m        显示当前月份, 不足俩位前面补 0
         * d        当月的第几天, 不足俩位前面补 0
         * e        当月的第几天
         *
         * 时间格式的转换符要更多、更精确
         *
         * H        2位数字24时制的小时(不足2位前面补0)               15
         * I        2位数字12时制的小时(不足2位前面补0)               03
         *
         * k        2位数字24时制的小时(前面不补0)                  15
         * l        2位数字12时制的小时(前面不补0)                  3
         *
         * M        2位数字的分钟(不足2位前面补0)                   03
         * S        2位数字的秒(不足2位前面补0)                    09
         *
         * L        3位数字的毫秒(不足3位前面补0)                   015
         * N        9位数字的毫秒数(不足9位前面补0)                  562000000
         * p        小写字母的上午或下午标记                            中:下午 英:pm
         * z        相对于GMT的RFC822时区的偏移量                     +0800
         * Z        时区缩写字符串                                     CST
         * s        1970-1-1 00:00:00 到现在所经过的秒数             1193468128
         * Q        1970-1-1 00:00:00 到现在所经过的毫秒数            1193468128984
         */
        // + 为正数或者负数添加符号
        // − 左对齐
        // 0 数字前补领0 - 右对齐宽度剩余
        System.out.printf("{%+-5d} - {%05d}%n", 12, 12);
        // 宽度不够
        System.out.printf("{%+-5d} - {%015d}%n", 1111112, 11111112);
        String.format("'b':将参数格式化为boolean类型输出,'B'的效果相同,但结果中字母为大写。%b", false);
        // 格式化参数引用
        System.out.printf("%2$s, %1$d %n", 99, "abc");
        // 格式化日期
        Date date = new Date();
        System.out.printf("%1$tF %1$tT %n", date);
        System.out.println(String.format(Locale.US, "英文星期的简称:%ta", date));
        // System.out.printf("%tN%n", date);
        System.out.printf("%1$td%n", date);
        System.out.printf("%1$tm%n", date);
        System.out.println("---------------------------------------------------------------------");
        System.out.println(String.format("'B':本地化显示月份字符串,如:January、February"));
        System.out.println(String.format("'b':本地化显示月份字符串的缩写,如:Jan、Feb"));
        System.out.println(String.format("'h':本地化显示月份字符串的缩写,效果同'b'"));
        Calendar calendar = Calendar.getInstance();
        System.out.println(String.format(Locale.US, "Locale.US 月份=%1$tB,缩写=%1$tb", calendar));
        System.out.println(String.format(Locale.CHINA, "Locale.CHINA 月份=%1$tB,缩写=%1$tb", calendar));
        System.out.println(String.format("'A':本地化显示星期几字符串,如:Sunday、Monday"));
        System.out.println(String.format("'a':本地化显示星期几字符串的缩写,如:Sun、Mon"));
        System.out.println(String.format(Locale.US, "Locale.US 星期几=%1$tA,缩写=%1$ta", calendar));
        System.out.println(String.format(Locale.CHINA, "Locale.CHINA 星期几=%1$tA,缩写=%1$ta", calendar));
        System.out.println(String.format("'C':年份除以100的结果,显示两位数,不足两位前面补0:%tC(范围:00-99)", calendar));
        System.out.println(String.format("'Y':显示四位数的年份,格利高里历,即公历。不足四位前面补0:%tY", calendar));
        System.out.println(String.format("'y':显示年份的后两位:%ty(范围:00-99)", calendar));
        System.out.println(String.format("'j':显示当前公历年的天数:第%tj天(范围:001-366)", calendar));
        System.out.println(String.format("'m':显示当前月份:%tm月(范围:01-13?怎么会有13个月?)", calendar));
        System.out.println(String.format("'d':显示是当前月的第几天,不足两位前面补0:%1$tm月第%1$td天(范围:01-31)", calendar));
        System.out.println(String.format("'e':显示是当前月的第几天:%1$tm月第%1$te天(范围:1-31)", calendar));
    }
【Java 笔记】 java 格式化输出的更多相关文章
- Java 笔记 —— java 和 javac
		Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: ... 
- Java基础 -- 字符串(格式化输出、正则表达式)
		一 字符串 1.不可变String String对象是不可变的,查看JDK文档你就会发现,String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以包含修改后 ... 
- Java中中英文对齐输出问题,以及Java中的格式化输出
		一 中英文对齐输出问题 问题,要求控制台输出如下: abcefg def 森林 阿狗 其实就是要求对齐输出,各种查找java的格式化输出,然后发现只要一个简单的“\t”就可以实现. 代码如下: Sy ... 
- python学习笔记 | strftime()格式化输出时间
		time模块 import time t = time.strftime("%Y-%m-%d %H:%M:%S") print(t) datetime模块 import datet ... 
- Object C学习笔记2-NSLog 格式化输出数据
		1 . 几种常用类型变量声明 int i =10; BOOL isShow=YES; BOOL isShow=1; float f = 3.1415926; char a =120; NSString ... 
- java笔记——Java关键字static、final使用小结
		static 1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ... 
- Java笔记--Java的List、Iterator用法
		1. List的使用 准备知识: List继承自Collection接口.List是一种有序集合,List中的元素可以根据索引(顺序号:元素在集合中处于的位置信息)进行取得/删除/插入操作. 跟Set ... 
- 菜鸡的Java笔记 java基础类库 BaseClassLibrary
		java基础类库 BaseClassLibrary StringBuffer 类的特点 StringBuffer,StringBuilder,String 类之间的关系 ... 
- 菜鸡的Java笔记 - java 双向一对多映射
		双向一对多映射 two-way 开发要求: 根据数据表的结构进行简单java类的转换: 要求实现如下的输出信息: 可以根据课程取得全部参与 ... 
- 菜鸡的Java笔记 - java 多对多映射
		要求: 1.将数据还原为简单java类 2.数据的输出: 可以根据一个用户输出它对应的角色以及每个角色对应的权限,以及包含的具体的权限详情: 一个权限可以输出具 ... 
随机推荐
- activemq控制面板含义
			Name 消息队列的名称 Number Of Pending Messages 等待消费的消息数量,即未出队列的消息数量.可以理解为总接收数-总出队列数 (未持久化的话,重启acmq后会清零) Num ... 
- fzu 2139  久违的月赛之二
			Problem 2139 久违的月赛之二 Accept: 42 Submit: 106Time Limit: 1000 mSec Memory Limit : 32768 KB Probl ... 
- 如何解决“There is no locally stored library”的问题
			今天我在用pyCharm开发网页的时候,用cdn引入js文件,但是程序报错,说“there is no locally stored library”.于是我上网找到了解决方案,特整理如下: 在你报错 ... 
- Apache安装完后加入系统服务的相关操作详解
			Apache源码安装完毕后, 1.下面的脚本运行后就可以直接使用service apachexxx stop/start 来控制apache的启动与停止了! cp /usr/local/apache/ ... 
- CSS字体无法设置成功的问题
			在 CSS 中设置字体名称,直接写中文是可以的.但是在文件编码(GB2312.UTF-8 等)不匹配时会产生乱码的错误.xp 系统不支持 类似微软雅黑的中文. 方案一: 你可以使用英文来替代. 比如 ... 
- [转]vue数据绑定(数据,样式,事件)
			1.mounted 与 methods 与 computed 与 watched区别 From:https://blog.csdn.net/qinlulucsdn/article/details/80 ... 
- R下载package的一些小问题
			1.Error in install.packages : unable to create ‘C:/Users/???/Documents/R/win-library\3.5 采用管理员身份运行,先 ... 
- 基于Maven + SSM (Spring、SpringMVC、Mybatis)构建一个简单的测试项目
			最近在公司实习期间的培训交流中有机会接触到SSM,然后自己花费1周的时间投入学习.谈不上深刻理解其中原理,所以没有涉及理论知识,只是浅层次的学习如何使用,在此将学习过程记录整理出来,一方面自己备用:另 ... 
- MySQL语句应该注意的问题
			刚刚开始写mysql语句 比较繁琐,乱哄哄的,总结了几点应该注意的事项: 1 注意标点符号,在创建表格 create table的时候 括号里面包含的内容用“,”号分割开,最后一条语句不要加标点符号 ... 
- 一步一步pwn路由器之radare2使用全解
			前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 radare2 最近越来越流行,已经进入 github 前 25了 ... 
