Java字符串格式化是将一个字符串按照一定的格式打印输出或插入特定的数据值。Java提供了多种格式化方式,可以满足不同的需求。本文将从以下几个方面介绍Java字符串格式化:
一、概述
Java字符串格式化主要包括以下两种方式:
1、使用printf()方法
public PrintStream printf(String format, Object... args)
这个方法基于C语言的printf()方法,可以将字符串按照指定格式进行输出。其中,format表示输出格式,args表示输出的参数,可以有任意多个参数。
下面是一个Java字符串格式化的示例:
public static void main(String[] args) { int i = 3; double d = 3.1415926; String s = "Hello, World!"; System.out.printf("i = %d, d = %.2f, s = %s\n", i, d, s); }
输出结果为:
i = 3, d = 3.14, s = Hello, World!
2、使用String.format()方法
public static String format(String format, Object... args)
这个方法与printf()方法类似,但它不直接输出字符串,而是返回一个格式化后的字符串。其中,format表示输出格式,args表示输出的参数,可以有任意多个参数。
下面是一个Java字符串格式化的示例:
public static void main(String[] args) { int i = 3; double d = 3.1415926; String s = "Hello, World!"; String str = String.format("i = %d, d = %.2f, s = %s\n", i, d, s); System.out.println(str); }
输出结果为:
i = 3, d = 3.14, s = Hello, World!
二、格式化占位符
Java字符串格式化中常用的占位符如下:
占位符 | 描述 |
---|---|
%d | 十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母) |
%X | 十六进制整数(大写字母) |
%f | 浮点数 |
%e | 科学计数法表示的浮点数(小写字母e) |
%E | 科学计数法表示的浮点数(大写字母E) |
%g | 根据实际情况自动选择%f或%e |
%c | 字符 |
%s | 字符串 |
上述占位符可以根据需要进行组合使用,如:%1$表示第一个参数,%2$表示第二个参数,以此类推。
下面是一个Java字符串格式化的示例:
public static void main(String[] args) { int i = 3; double d = 3.1415926; String s = "Hello, World!"; System.out.printf("%1$d %2$f %3$s\n", i, d, s); System.out.printf("%3$s %2$f %1$d\n", i, d, s); }
输出结果为:
3 3.141593 Hello, World! Hello, World! 3.141593 3
三、格式化标志
Java字符串格式化中常用的标志如下:
标志 | 描述 |
---|---|
+ | 正数前加“+”,负数前加“-” |
- | 左对齐 |
# | 对于八进制整数,前面加0;对于十六进制整数,前面加0x |
0 | 用0补足位数 |
, | 为数字添加分组分隔符 |
空格 | 在正数前面加空格,负数前加“-” |
( | 负数用括号括起来 |
上述标志可以根据需要进行组合使用。
下面是一个Java字符串格式化的示例:
public static void main(String[] args) { int i = 3; double d = 3.1415926; String s = "Hello, World!"; System.out.printf("%1$+d %2$f %3$s\n", i, d, s); System.out.printf("%3$#o %2$#x %1$#X\n", i, d, s); }
输出结果为:
+3 3.141593 Hello, World! 0o3 0x1.921cac083126fp0 0X3
四、总结
本文介绍了Java字符串格式化的基本概念和使用方式,包括使用printf()方法和String.format()方法,介绍了常用的格式化占位符和格式化标志。