String.format()基本用法

Java中的String.format方法详解
该文章展示了Java中使用String.format进行格式化输出的各种示例,包括字符串、字符、布尔值、整数(十进制、十六进制、八进制)、浮点数、散列码、换行符、百分比、日期和时间格式等。通过这些例子,读者可以理解如何根据不同的数据类型和需求来格式化输出内容。

1.先来看看一些基本知识

%s字符串类型%c字符类型
%d十进制整数%x十六进制整数
%o八进制整数%bBoolean类型
%f浮点数%a十六进制浮点数
%g通用浮点数%e指数形式
%h散列码%%百分号
%n换行

2.接下来看一点例子

    public static void main(String[] args) {
        //TODO 输出字符串
        String out1 = String.format("format结果: %s%s%s", "厦门", "福州", "泉州");
        System.out.println("out1 = " + out1);

        //TODO 输出字符
        String out2 = String.format("format结果: %c%c%c", '中', '国', '人');
        System.out.println("out2 = " + out2);

        //TODO 输出bool类型
        String out3 = String.format("format结果: %b;%b;%b", true, false, true);
        System.out.println("out3 = " + out3);

        //TODO 整数类型(十进制)
        String out4 = String.format("format结果: %d", 96, 96);
        System.out.println("out4 = " + out4);

        //TODO 整数类型(十六进制)
        String out5 = String.format("format结果: %x;%X;%#x;", 30, 30, 30);
        System.out.println("out5 = " + out5);

        //TODO 整数类型(八进制)
        String out6 = String.format("format结果: %o;%#o", 30, 30);
        System.out.println("out6 = " + out6);

        //TODO 浮点类型
        String out8 = String.format("format结果: %f", 30.31);
        System.out.println("out8 = " + out8);

        //TODO 十六进制浮点类型
        String out9 = String.format("format结果: %a", 30.31);
        System.out.println("out9 = " + out9);

        //TODO 指数类型
        String out10 = String.format("format结果: %e", 30.31);
        System.out.println("out10 = " + out10);

        //TODO 通用浮点类型
        String out11 = String.format("format结果: %g", 30.31);
        System.out.println("out11 = " + out11);

        //TODO 散列码
        String out12 = String.format("format结果: %h", 30.31);
        System.out.println("out12 = " + out12);

        //TODO 换行符
        String out13 = String.format("format结果: 福建人;%n中国人.");
        System.out.println("out13 = " + out13);

        //TODO 输出百分比类型
        String out14 = String.format("format结果: %d%%", 20);
        System.out.println("out14 = " + out14);

        //TODO 输出日期和时间信息
        Date today = new Date();
        String out15 = String.format("format结果: %tc", today);
        System.out.println("out15 = " + out15);

        //TODO 输出年-月-日格式
        Date today1 = new Date();
        String out16 = String.format("format结果: %tF", today1);
        System.out.println("out16 = " + out16);

        //TODO 输出年/月/日格式
        Date today2 = new Date();
        String out17 = String.format("format结果: %tD", today2);
        System.out.println("out17 = " + out17);

        //TODO 输出HH:MM:SS PM 格式
        Date today3 = new Date();
        String out18 = String.format("format结果: %tr", today3);
        System.out.println("out18 = " + out18);

        //TODO 输出HH:MM:SS格式
        Date today4 = new Date();
        String out19 = String.format("format结果: %tT", today4);
        System.out.println("out19 = " + out19);

        //TODO 输出HH:MM格式
        Date today5 = new Date();
        String out20 = String.format("format结果: %tR", today5);
        System.out.println("out20 = " + out20);

        //TODO 为数字添加符号
        String out21 = String.format("format结果: %+d;%d", 9696, -8686);
        System.out.println("out21 = " + out21);

        //TODO 用 0 补全  06就是不到6位数的用 0 补全
        String out22 = String.format("format结果: %06d", 9696);
        System.out.println("out22 = " + out22);

        //TODO 在数字前使用空格填充
        String out23 = String.format("format结果: % 6d", 9696);
        System.out.println("out23 = " + out23);

        //TODO 使用','对数字分组
        String out24= String.format("format结果: %,f", 56329696.7894);
        System.out.println("out24 = " + out24);

        //TODO 使用括号包含负数
        String out25= String.format("format结果: %(f", -9696.96);
        System.out.println("out25 = " + out25);

        //TODO 给16进制加上0x,给8进制加上0
        String out26= String.format("format结果: %#x;%#o", 18, 18);
        System.out.println("out26 = " + out26);

        //TODO 格式化'<'前一个转换符所描述的参数
        String out27= String.format("format结果: %d;%<d", 18);
        System.out.println("out27 = " + out27);

        String out28= String.format("format结果: %tF %<tT", new Date());
        System.out.println("out28 = " + out28);

        //TODO 被格式化的参数索引,即取哪个参数格式
        String out29= String.format("format结果: %2$04d;%1$s","福建在中国", 591);
        System.out.println("out29 = " + out29);

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值