java中的字符串的格式化输出

本文介绍了Java中与C语言printf函数类似的format和printf方法,详细解析了这两个方法在PrintStream和PrintWriter对象中的应用,特别是System.out.printf的使用。内容包括格式说明符的语法、作用以及常用格式控制字符,如%d、%f、%s等,并通过实例展示了如何进行字符串格式化输出。同时,文章还提到了String.format方法作为替代选择,以及它们在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java5 中引入了和C语言的printf函数风格类似的format方法和printf方法,这两个方法可用于Java.io.PrintStream和java.io.PrintWriter对象,System.out对象的类型是PrintStream,于是对应C语言的printf函数的java版本就有了。

在api帮助文档中可以看到Java.io下面的printStream是由format方法滴

 然后还有一个printf方法,在System这个类中定义了一个静态的常量,它的类型就是printStream

所以可以利用System.out.printf或者format方法

 

public static void main(String[] args) {
		String name = "Tom";
		int age = 15;
		float height = 178.66666666f;
		System.out.printf("姓名:%s ,年龄:%d , 年龄:%x , 身高%f", name, age, age, height);
	}

双引号括起来的字符串就是格式化字符串。类似于%s,%f是占位符,称为格式说明符。

格式说明符的作用:1.说明了插入数据的位置   2.说明了插入的是什么类型的数据,以及如何对其格式化。

格式说明符的语法(格式说明符中括号中的东西都是可选的)

%[argument_index$][flags][width][.precision]conversion

具体解释:(1).argument_index是参数的索引,需要以一个美元符号$结尾,就是指定是哪个变量

 输出结果:

 (2).flags是一组修改输出格式的字符

(3).width是一个正十进制整数,表示要写入输出的最小字符数

(4).precision代表精度,通常用于限制字符数。精度在【.】后面给出

(5).conversion是格式说明字符

常用的格式控制字符:

%d --------十进制整数

%f ---------浮点数

%.2f----------浮点数,有精确的   .2是精确到百分位   .3是千分位以此类推

%16.3f--------浮点数,精确的千分位,宽度为16

%o--------输出八进制整数

%x-----------输出十六进制整数

%s------------输出字符串

%2$s------------表示第二个变量

%g-----------十进制数可能采用科学计数法

%n------------换行和\n的作用一样

还可以使用format方法,可以在api中看一下

 可以看到它是一个静态方法,可以直接调用

调用方式:将字符串格式化之后返回String对象,然后可以直接输出

代码:

String name = "Tom";
		int age = 15;
		float height = 178.66666666f;
		/*System.out.printf("姓名:%s ,年龄:%d , 年龄:%x , 身高%f%n", name, age, age, height);
		System.out.printf("姓名:%2$s,年龄:%1$d%n",age,name);*/
		String str=String.format("姓名:%s ,年龄:%d , 年龄:%x , 身高%.2f", name, age, age, height);
		System.out.println(str);

运行结果:

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放在糖果旁的是我很想回忆的甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值