String.format()方法介绍
使用String.format()方法的语法非常简单,如下所示:
String.format(String format, Object... args)
其中,第一个参数是格式化字符串,它包含将要格式化输出的占位符,而第二个参数Object... args则是将要以指定格式输出的数据列表。占位符是用"%"标记的,在占位符前面可以有一些其他字符,这些字符可以用来控制输出格式,包括输出的字段宽度、精度、填充字符和对齐方式等。
下面一些使用String.format()方法的示例。
1. 输出字符串:
假设我们要输出一个字符串"Hello, World!",我们可以使用如下代码:
String str = "Hello, World!";
System.out.println("输出结果:" + String.format("%s", str));
输出结果为:
输出结果:Hello, World!
在这个例子中,我们只有一个占位符"%s",它代表要输出的字符串本身。因此格式化字符串为"%s",参数列表为str。
2. 输出整数:
假设我们要输出整数123,我们可以使用如下代码:
int num = 123;
System.out.println("输出结果:" + String.format("%d", num));
输出结果为:
输出结果:123
在这个例子中,我们只有一个占位符"%d",它代表要输出的整数。因此格式化字符串为"%d",参数列表为num。
3. 输出浮点数:
假设我们要输出浮点数3.1415926,我们可以使用如下代码:
double num = 3.1415926;
System.out.println("输出结果:" + String.format("%.2f", num));
输出结果为:
输出结果:3.14
在这个例子中,我们只有一个占位符"%.2f",它代表要输出的浮点数,其中".2"表示要输出的小数位数,即保留2位小数。因此格式化字符串为"%.2f",参数列表为num。
4. 输出日期时间:
假设我们要输出当前的日期时间,我们可以使用如下代码:
Date date = new Date();
System.out.println("输出结果:" + String.format("%tF %tT", date, date));
输出结果为:
输出结果:2023-05-03 09:18:40
在这个例子中,我们有两个占位符"%tF"和"%tT",它们分别代表要输出的日期和时间。"%tF"表示输出的日期格式为“年-月-日”,而"%tT"表示输出的时间格式为“时:分:秒”。因此格式化字符串为"%tF %tT",参数列表为date和date。
5. 输出带宽速率:
假设我们要输出带宽速率,比如50 Mbps,我们可以使用如下代码:
double speed = 50.0;
System.out.println("输出结果:" + String.format("%.2f Mbps", speed));
输出结果为:
输出结果:50.00 Mbps
在这个例子中,我们有一个占位符"%.2f"和一个文本"Mbps",它们一起代表要输出的带宽速率。因此格式化字符串为"%.2f Mbps",参数列表为speed。
6. 输出货币金额:
假设我们要输出货币金额,比如$99.99,我们可以使用如下代码:
double amount = 99.99;
System.out.println("输出结果:" + String.format("$%.2f", amount));
输出结果为:
输出结果:$99.99
在这个例子中,我们有一个占位符"$%.2f",它代表要输出的货币金额,其中"$"表示货币符号,".2"表示要输出的小数位数,即保留2位小数。因此格式化字符串为"$%.2f",参数列表为amount。
除了上述示例外,String.format()方法还有许多其他的用法和占位符,比如用"%e"输出科学计数法表示的浮点数,用"%o"输出八进制表示的整数,用"%x"输出十六进制表示的整数等等。