Java中用三种方法输出字符串,Java字符串的格式化与输出

Java字符串的格式化与输出

在C语言中格式化输出可以通过printf()函数实现,在Java中无需借助第三方工具同样可以实现此功能,自Java SE5后,java也提供了C语言中printf()风格的格式化输出方法。目前,有三种方法实现格式化输出,参考如下:

一、格式化输出的三种方法

1.System.out.format()

Java SE5引入的format方法可以用于PrintStream或PrintWriter对象,其中也包括System.out对象。format()方法模仿自C的printf()。如果你比较怀旧的话,也可以使用printf(),下面是一个简单的示例:

/**System.out.format()和System.out.printf()方法使用示例

* System.out.format()和System.out.printf()两个方法是等价的

* */

public void method_1() {

int x = 5;

double y = 5.332542;

// 大家都会用的比较原始的方法:

System.out.println("Row 1: [" + x + " " + y + "]");

// 通过System.out.format()方式格式化输出

System.out.format("Row 1: [%d %f]\n", x, y);

// 或者通过System.out.printf()方式格式化输出

System.out.printf("Row 1: [%d %f]\n", x, y);

}/*输出:

Row 1: [5 5.332542]

Row 1: [5 5.332542]

Row 1: [5 5.332542]

*/// :~可以看到,format()和printf()是等价的,它们只需要一个简单的格式化字符串,加上一串参数即可,每个参数对应一个格式化修饰符。

2.使用Formatter类:

在Java中,所有新的格式化功能都由java.util.Formatter类处理。可以将Formatter看做一个翻译器,它将你的格式化字符串与数据翻译成需要的结果。当你创建一个Formatter对象的时候,需要向其构造器传递一些信息,告诉它最终的结果将向哪里输出:

/**通过Formater类实现格式化输出*/

public void method_2(){

//设置输出目的地为屏幕(System.out返回的是一个打印流对象"PrintStream")

Formatter f= new Formatter(System.out);

String name = "jack zhu";

int age = 100;

double stature = 178.536;//cm

f.format("name:%s 、age:%d、stature: %.2f)\n", name, age, stature);//.2表示浮点数精度(2位)

}/*输出:

name:jack zhu 、age:100、stature: 178.54)

*/// :~

结果result将被输出到System.out(屏幕),Formatter的构造器经过重载可以接受多种输出目的地,不过最常用的还是PrintStream(System.out属于PrintStream)、OutputStream和File。

3.String.format()

String.format()是一个static方法,他接受与Formatter.format()方法一样的参数,但返回一个String对象。当你只需使用format()方法一次的时候,String.format()用起来很方便,例如:

/**String.format()方法实现格式化输出:*/

public void method_3(){

int x = 5;

double y = 5.332542;

String result = String.format("Row 1: [%d %f]\n", x, y);

System.out.println(result);

}/*输出:

Row 1: [5 5.332542]

*/// :~

二、常用格式化修饰符参考:

像上面的几种格式化方法参数中控制格式的由%d 、%s等修饰符控制,修饰符可以看做是特殊的占位符,使用占位符来表示插入数据的位置和插入数据的类型。具体参考如下:

占位符

表示的数据类型

d

整数(十进制)

c

Unicode字符

b

Boolean值

s

String

f

浮点数(十进制)

e

浮点数(科学计数)

x

整数(十六进制)

h

散列码(十六进制)

%

占位说明符

http://www.ctosclub.com

原文:http://blog.csdn.net/zhu_xun/article/details/38417647

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值