java 字符串原样输出_Java字符串的格式化与输出
发布日期:2022-02-03 13:17:05 浏览次数:7 分类:技术文章

本文共 2026 字,大约阅读时间需要 6 分钟。

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

转载地址:https://blog.csdn.net/weixin_34759094/article/details/114187279 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java assembly 打包_Maven之多模块打包成一个jar包及assembly
下一篇:mysql并行加载机制_Oracle 并行原理深入解析及案例精粹

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月08日 06时18分36秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

AndroidStudio_java.util.ConcurrentModificationException---Android原生开发工作笔记237 2019-04-26
AndroidStudio_android中实现对properties文件的读写操作_不把properties文件放在assets文件夹中_支持读写---Android原生开发工作笔记238 2019-04-26
弹框没反应使用Looper解决_the caller should invoke Looper.prepare() and Looper.loop()---Android原生开发工作笔记239 2019-04-26
Command line is too long. Shorten command line for Application---微服务升级_SpringCloud Alibaba工作笔记0067 2019-04-26
AndroidStudio_android实现双击_3击_监听实现---Android原生开发工作笔记240 2019-04-26
C++_类和对象_对象特性_初始化列表---C++语言工作笔记045 2019-04-26
AndroidStudio安卓原生开发_UI高级_DrawerLayout_侧滑菜单控件---Android原生开发工作笔记120 2019-04-26
AndroidStudio安卓原生开发_UI高级_Shape的使用_虚线_直线_矩形_渐变_径向渐变_线性渐变_扫描渐变---Android原生开发工作笔记122 2019-04-26
AndroidStudio安卓原生开发_UI高级_StateListDrawable状态选择器_按钮按下和抬起显示不同颜色---Android原生开发工作笔记124 2019-04-26
kivy制作安卓APP--简单音乐播放器 2019-04-26
Angular2工程部署到Tomcat服务器,第一次访问正常,刷新浏览器后报404错误 2019-04-26
【力扣】155. 最小栈 2019-04-26
【力扣】160. 相交链表 2019-04-26
【力扣】167. 两数之和 II - 输入有序数组 2019-04-26
【力扣】168. Excel表列名称 2019-04-26
【力扣】456. 132 模式 2019-04-26
【力扣】82. 删除排序链表中的重复元素 II 2019-04-26
【剑指OFFER】 41. 数据流中的中位数 2019-04-26
【力扣】83. 删除排序链表中的重复元素 2019-04-26
【剑指OFFER】 43. 1~n 整数中 1 出现的次数 2019-04-26