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/forum.php?

mod=viewthread&tid=22

http://www.ctosclub.com

Java字符串的格式化与输出的更多相关文章

  1. 【C语言学习】《C Primer Plus》第4章 字符串和格式化输入/输出

    学习总结 1.String str=”hello world!”;(Java),char[20]=” hello world!”;(C).其实Java字符串的实现,也是字符数组. 2.字符串的尾部都会 ...

  2. 重学C语言---04字符串和格式化输入/输出

    1.程序示例 //talkback.c一个能为你提供一些信息的对话框 #include <stdio.h> #include <string.h> //提供strlen函数原型 ...

  3. java 日期的格式化 输入/输出

    想要得到形如2018.07.09的格式化好的当天日期 创建Date对象,调用SimpleDateFormat对象的format方法: indexstr="logstash-"+ne ...

  4. C Primer Plus学习笔记(三)- 字符串和格式化输入/输出

    从一个简单的例子开始 #include <stdio.h> int main() { char name[10]; printf("Input Your Name:\n" ...

  5. C Primer Plus 第4章 字符串和格式化输入/输出 编程练习

    1. #include <stdio.h> int main(void) { ]; ]; printf("请输入您的名字: "); scanf("%s&quo ...

  6. JSON字符串控制台格式化输出 java

    1.正常情况下返回的json数据格式如下: {"header":{"transSn":"e33128bb7622462ebfb2cbfcc46baa1 ...

  7. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  8. JAVA字符串格式化String.format()的使用

    JAVA字符串格式化-String.format()的使用常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprin ...

  9. java.text.MessageFormat格式化字符串时的小技巧

    java.text.MessageFormat格式化字符串时的小技巧 public static void main(String[] args) throws InterruptedExceptio ...

随机推荐

  1. highstock使用案例(异步请求,懒加载)

    jsp中导入:<script src="<c:url value="/resources/js/highstock.js"></c:url> ...

  2. nyoj------擅长排列的小明

    擅长排列的小明 时间限制:1000 ms  |           内存限制:65535 KB 难度:4   描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序 ...

  3. 《practical Java》读书笔记

    题记: 花了一周把Peter Haggar的<practical Java>看了遍,有所感悟,年纪大了, 写下笔记,方便日后查看.也希望有缘之人可以看看,做个渺小的指路人. 不足之处还望指 ...

  4. 【转】谈“P=NP?”

    “P=NP?” 通常被认为是计算机科学最重要的问题.有一个叫Clay Math的研究所,甚至悬赏 100 万美元给解决它的人.可是我今天要告诉你的是,这个问题其实是不存在的,它根本不需要解决. 我并不 ...

  5. 利用recv和readn函数实现readline函数

    在前面的文章中,我们为了避免粘包问题,实现了一个readn函数读取固定字节的数据.如果应用层协议的各字段长度固定,用readn来读是非常方便 的.例如设计一种客户端上传文件的协议,规定前12字节表示文 ...

  6. Linux 关机 休眠, 关闭移动设备自动挂载 命令

    "+++++++++++++++++++++++++ Linux 关机.休眠命令 +++++++++++++++++++++++++++++++++++++++"indows7关机 ...

  7. WordPress For SAE进入后台

    今天遇到一个非常easy可是花了我半个小时的问题:怎样进入WordPress For SAE后台. 介于百度上没有搜索到.所以写了这篇博客,简单,but有用. 首先我们会訪问自己的网站:独立游戏者er ...

  8. Snail—OC学习之类别Category

    类别就是向类加入一些实用的功能或者方法 利于开发 类能够是系统类.能够是自己定义类 类别跟子类是不一样的.类别仅仅能加入一些方法 属性变量什么的不能够加入 不创建新类,就可以对已有类进行扩展 做项目的 ...

  9. python标准库介绍——14 gc 模块详解

    ==gc 模块== (可选, 2.0 及以后版本) ``gc`` 模块提供了到内建循环垃圾收集器的接口. Python 使用引用记数来跟踪什么时候销毁一个对象; 一个对象的最后一个引用一旦消失, 这个 ...

  10. LaTeX 编辑软件WinEdt使用简要介绍

    LaTeX 编辑软件WinEdt使用简要介绍   LaTeX 的起源非常牛逼,有一套书大家可能听说过<计算机程序设计艺术>,写了好几本.当然能在计算机方面写上艺术俩字的书恐怕不是我们一般人 ...