Java格式化字符串

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/pan_junbiao/article/details/98204972

String类的静态format()方法用于创建格式化的字符串。format()方法有两种重载形式。

(1)public static String format(String format, Object... args)

该方法使用指定的格式字符串和参数返回一个格式化字符串,格式化后的新字符串使用本地默认的语言环境。

format:格式字符串。

args:格式字符串中由格式说明符引用的参数。如果还用格式说明符以外的参数,则忽略这些额外的参数。此参数的数目是可变的,可以为0。

(2)public static String format(Locale l, String format, Object... args)

l:格式化过程中要应用的语言环境。如果l为null,则不进行本地化。

format:格式字符串。

args:格式字符串中由格式说明符引用的参数。如果还用格式说明符以外的参数,则忽略这些额外的参数。此参数的数目是可变的,可以为0。

示例:使用String类的静态format()方法格式化的字符串。

/**
 * 使用String类的静态format()方法格式化的字符串
 * @author pan_junbiao
 */
public class StrFormat
{
    public static void main(String[] args) {
        String msg1 = String.format("您好,欢迎访问 %s","pan_junbiao的博客");
        String msg2 = String.format("博客地址:%s","https://blog.csdn.net/pan_junbiao");
        // 输出信息
        System.out.println(msg1);
        System.out.println(msg2);
    }
}

执行结果:

扫描二维码关注公众号,回复: 7614501 查看本文章

1、日期和时间字符串格式化

在应用程序设计中,经常需要显示时间和日期。如果想输出满意的日期和时间格式,一般需要编写大量的代码经过各种算法才能实现。format()方法通过给定的特殊转换符作为参数来实现对日期和时间的格式化。

1.1 日期格式化

使用format()方法对日期进行格式化时,会用到日期格式化转换符,常用的日期格式化转换符如下所示。

示例:在项目中创建Eval类,实现日期格式化。

import java.util.*;

/**
 * 日期格式化
 * @author pan_junbiao
 */
public class Eval {
    public static void main(String[] args) {
        Date date = new Date(); // 创建Date对象date
        String year = String.format("%tY", date); // 将date进行格式化
        String month = String.format("%tB", date);
        String day = String.format("%td", date);
        String msg = String.format("您好,欢迎访问 %s","pan_junbiao的博客");
        // 输出信息
        System.out.println(msg);
        System.out.println("今年是:" + year + "年");
        System.out.println("现在是:" + month);
        System.out.println("今天是:" + day + "号");
    }
}

执行结果:

1.2 时间格式化

使用format()方法对时间进行格式化时,会用到时间格式化转换符,时间格式化转换符要比日期转换符更多、更精确,它可以将时间格式化为时、分、秒、毫秒。常用的时间格式化转换符如下表所示。

示例:在项目中创建GetDate类,实现将时间格式化。

import java.util.*;

/**
 * 时间格式化
 * @author pan_junbiao
 */
public class GetDate {
    public static void main(String[] args) {
        Date date = new Date(); // 创建Date对象date
        String hour = String.format("%tH", date); // 将date进行格式化
        String minute = String.format("%tM", date);
        String second = String.format("%tS", date);
        String msg = String.format("您好,欢迎访问 %s","pan_junbiao的博客");
        // 输出的信息
        System.out.println(msg);
        System.out.println("现在是:" + hour + "时" + minute + "分" + second + "秒");
    }
}

执行结果:

2、常规类型格式化

在程序设计过程中,经常需要对常规类型的数据进行格式化,例如格式化为整数,格式化为科学计数表示等,在Java中可以使用常规类型的格式化转换符来实现,下表列出了常规类型的格式化转换符。

示例:在项目中创建General类,实现常规类型格式化。

/**
 * 时间格式化
 * @author pan_junbiao
 */
public class General {
    public static void main(String[] args) {
        String str = String.format("%d", 400 / 2); // 将结果以十进制显示
        String str2 = String.format("%b", 3 > 5); // 将结果以布尔形式显示
        String str3 = String.format("%x", 200); // 将结果以十进制格式显示
        String msg = String.format("您好,欢迎访问 %s","pan_junbiao的博客");
        // 输出格式化字符串
        System.out.println(msg);
        System.out.println("400的一半是:" + str);
        System.out.println("3>5正确吗:" + str2);
        System.out.println("200的十六进制数是:" + str3);
    }
}

执行结果:

猜你喜欢

转载自blog.csdn.net/pan_junbiao/article/details/98204972