Java字符串格式化记录

简介: 最近打log的时候用到了字符串的格式化。Java中String格式化和C语言的很类似。把情况都列出来,以后好查询。 public static void main(String[] args) { System.

最近打log的时候用到了字符串的格式化。
Java中String格式化和C语言的很类似。把情况都列出来,以后好查询。

    public static void main(String[] args) {

        System.out.println(String.format("Hi, %s", "Rust Fisher"));
//        Hi, Rust Fisher
        System.out.println(String.format("%s: Hi, %s %s %s", "Lei Jun", "I", "am", "OK"));
//         Lei Jun: Hi, I am OK
        System.out.println(String.format("输出单个字符:%c", 'A'));
//        输出单个字符:A
        System.out.printf("输出条件判断: 1>2 :%b %n", 1 > 2);
//        输出条件判断: 1>2 :false
        System.out.printf("输出计算结果:100的一半是:%d %n", 100 / 2);
//        输出计算结果:100的一半是:50
        System.out.printf("输出float型:100元的书打8.5折扣是:%f%n", 100 * 0.85);
//        输出float型:100元的书打8.5折扣是:85.000000 元
        System.out.printf("输出进制转换:100的16进制数是:%x %n", 100);
//        输出进制转换:100的16进制数是:64
        System.out.printf("输出进制转换:100的8进制数是:%o %n", 100);
//        输出进制转换:100的8进制数是:144
        System.out.printf("输出结果进制转换:50 * 0.85的16进制数是:%a %n", 50 * 0.85);
//        输出结果进制转换:50 * 0.85的16进制数是:0x1.54p5
        System.out.printf("指数表示:%e %n", 100 * 0.85);
//        指数表示:8.500000e+01
        System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g %n", 50 * 0.85);
//        上面价格的指数和浮点数结果的长度较短的是:42.5000
        System.out.printf("百分比表示 %d%% %n", 85);
//        百分比表示 85%
        System.out.printf("字母A的散列码是:%h %n", 'A');
//                字母A的散列码是:41

        System.out.println("--------------------");

        System.out.println(String.format("格式参数$的使用:%1$d,%2$s", 99, "abc"));
//        格式参数$的使用:99,abc
        System.out.printf("显示正负数的符号:%+d%+d  %d %n", 99, -99, -99);
//        显示正负数的符号:+99与-99  -99
        System.out.printf("补O使用:%03d%n", 7);
//        补O使用:007
        System.out.printf("空格使用 Tab键的效果是:% 8d%n", 7);
//        空格使用 Tab键的效果是:       7
        System.out.printf(".使用 整数分组的效果是:%,d%n", 9989997);
//                .使用 整数分组的效果是:9,989,997
        System.out.printf("空格和小数点后面个数 一本书的价格是:% 10.5f%n", 49.8);
//        空格和小数点后面个数 一本书的价格是:  49.80000元

        System.out.println("--------------------");

        Date date = new Date();
        System.out.printf("c的使用  全部日期和时间信息:%tc%n", date);
//        c的使用  全部日期和时间信息:星期三 四月 20 21:03:57 CST 2016
        System.out.printf("f的使用 年-月-日格式:%tF%n", date);
//        f的使用 年-月-日格式:2016-04-20
        System.out.printf("d的使用 月/日/年格式:%tD%n", date);
//        d的使用 月/日/年格式:04/20/16
        System.out.printf("r的使用 HH:MM:SS PM格式(12时制):%tr%n", date);
//        r的使用 HH:MM:SS PM格式(12时制):09:03:57 下午
        System.out.printf("t的使用 HH:MM:SS格式(24时制):%tT%n", date);
//        t的使用 HH:MM:SS格式(24时制):21:03:57
        System.out.printf("R的使用 HH:MM格式(24时制):%tR", date);
//        R的使用 HH:MM格式(24时制):21:03
        System.out.println("\n------定义日期格式的转换符可以使日期通过指定的转换符生成新字符串-----");
//                ------定义日期格式的转换符可以使日期通过指定的转换符生成新字符串-----

        Date date2 = new Date();
        System.out.println(String.format(Locale.US, "英文月份简称:%tb", date2));
//                英文月份简称:Apr
        System.out.printf("本地月份简称:%tb%n", date2);
//        本地月份简称:四月
        System.out.println(String.format(Locale.US, "英文月份全称:%tB", date2));
//        英文月份全称:April
        System.out.printf("本地月份全称:%tB%n", date2);
//        本地月份全称:四月
        System.out.println(String.format(Locale.US, "英文星期的简称:%ta", date2));
//        英文星期的简称:Wed
        System.out.printf("本地星期的简称:%tA%n", date2);
//        本地星期的简称:星期三
        System.out.printf("年的前两位数字(不足两位前面补0):%tC%n", date2);
//        年的前两位数字(不足两位前面补0):20
        System.out.printf("年的后两位数字(不足两位前面补0):%ty%n", date2);
//        年的后两位数字(不足两位前面补0):16
        System.out.printf("一年中的天数(即年的第几天):%tj%n", date2);
//        一年中的天数(即年的第几天):111
        System.out.printf("两位数字的月份(不足两位前面补0):%tm%n", date2);
//        两位数字的月份(不足两位前面补0):04
        System.out.printf("两位数字的日(不足两位前面补0):%td%n", date2);
//        两位数字的日(不足两位前面补0):20
        System.out.printf("月份的日(前面不补0):%te \n", date2);
//        月份的日(前面不补0)

        Date dateToTime = new Date();
        System.out.printf("H的使用 2位数字24时制的小时(不足2位前面补0):%tH%n", dateToTime);
//        H的使用 2位数字24时制的小时(不足2位前面补0):21
        System.out.printf("I的使用 2位数字12时制的小时(不足2位前面补0):%tI%n", dateToTime);
//        I的使用 2位数字12时制的小时(不足2位前面补0):09
        System.out.printf("k的使用 2位数字24时制的小时(前面不补0):%tk%n", dateToTime);
//        k的使用 2位数字24时制的小时(前面不补0):21
        System.out.printf("l的使用 2位数字12时制的小时(前面不补0):%tl%n", dateToTime);
//        l的使用 2位数字12时制的小时(前面不补0):9
        System.out.printf("M的使用 2位数字的分钟(不足2位前面补0):%tM%n", dateToTime);
//        M的使用 2位数字的分钟(不足2位前面补0):03
        System.out.printf("S的使用 2位数字的秒(不足2位前面补0):%tS%n", dateToTime);
//        S的使用 2位数字的秒(不足2位前面补0):57
        System.out.printf("L的使用 3位数字的毫秒(不足3位前面补0):%tL%n", dateToTime);
//        L的使用 3位数字的毫秒(不足3位前面补0):220
        System.out.printf("N的使用 9位数字的毫秒数(不足9位前面补0):%tN%n", dateToTime);
//        N的使用 9位数字的毫秒数(不足9位前面补0):220000000
        System.out.println(String.format(Locale.US, "p的使用 小写字母的上午或下午标记(英):%tp", dateToTime));
//        p的使用 小写字母的上午或下午标记(英):pm
        System.out.printf("小写字母的上午或下午标记(中):%tp%n", dateToTime);
//        小写字母的上午或下午标记(中):下午
        System.out.printf("z的使用 相对于GMT的RFC822时区的偏移量:%tz%n", dateToTime);
//        z的使用 相对于GMT的RFC822时区的偏移量:+0800
        System.out.printf("Z的使用 时区缩写字符串:%tZ%n", dateToTime);
//        Z的使用 时区缩写字符串:CST
        System.out.printf("s的使用 1970-1-1 00:00:00 到现在所经过的秒数:%ts%n", dateToTime);
//        s的使用 1970-1-1 00:00:00 到现在所经过的秒数:1461157437
        System.out.printf("Q的使用 1970-1-1 00:00:00 到现在所经过的毫秒数:%tQ%n", dateToTime);
//        Q的使用 1970-1-1 00:00:00 到现在所经过的毫秒数:1461157437220

    }

在Android中TextView.setText时,如果单独传入一个数字,很容易出错
转成格式化字符串,或者直接转字符串即可

mHighValue.setText(String.format("%d", high));
目录
相关文章
|
4月前
|
安全 Java API
【Java字符串操作秘籍】StringBuffer与StringBuilder的终极对决!
【8月更文挑战第25天】在Java中处理字符串时,经常需要修改字符串,但由于`String`对象的不可变性,频繁修改会导致内存浪费和性能下降。为此,Java提供了`StringBuffer`和`StringBuilder`两个类来操作可变字符串序列。`StringBuffer`是线程安全的,适用于多线程环境,但性能略低;`StringBuilder`非线程安全,但在单线程环境中性能更优。两者基本用法相似,通过`append`等方法构建和修改字符串。
67 1
|
28天前
|
存储 安全 Java
Java零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
102 60
|
18天前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
37 6
|
2月前
|
Java 数据库
案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
52 15
|
2月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
50 4
|
3月前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
52 3
|
3月前
|
SQL Java 索引
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
18 2
|
3月前
|
存储 移动开发 Java
java核心之字符串与编码
java核心之字符串与编码
25 2
|
3月前
|
Java
Java实现:将带时区的时间字符串转换为LocalDateTime对象
通过上述方法,你可以将带时区的时间字符串准确地转换为 `LocalDateTime`对象,这对于处理不需要时区信息的日期和时间场景非常有用。
773 4