首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

第10三章-字符串

2013-11-08 
第十三章-字符串一、String的不可变性????? String对象是不可变的,String类中每一个看起来会修改String对象

第十三章-字符串

一、String的不可变性

????? String对象是不可变的,String类中每一个看起来会修改String对象值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。

?

二、格式化

????? Java字符串格式化可以使用java.util.Formatter类处理,或者直接使用String.format()方法,将字符串翻译成想要的结果。目标格式根据传入的字符串公式决定,其语法为:

????? %[arg_index$][flags][width][.precision]conversion

arg_index:十进制整数,用于表明参数在参数列表中的位置。"1$" 为第一个参数,"2$" 为第二个参数,?依此类推。

flags:表示控制输出格式的字符集,例如'-'为左对齐。

width:非负十进制整数,表明要向输出中写入的最少字符数。

.precision:非负十进制整数, 通常用于浮点数,限定小数位数。

conversion:数据待转换的类型。

一般的类型值有:

?

?d?整形(十进制)?c?Unicode字符?b?boolean值?s?String?f?浮点数(十进制)?e?浮点数(科学计数法)?x?整数(十六进制)?h?散列码(十六进制)?%? ?字符%

例子:

public class Test {public static void main(String[] args){//使用java.util.Formatter类Formatter formatter = new Formatter(System.out);formatter.format("Hello, %1$s! I'm %2$d years old!\n", "Peter", 21);//直接使用String的format方法System.out.print(String.format("Hello, %2$s! I'm %1$d years old!", 21, "Peter"));//若省略[arg_index],则参数要按转换类型的顺序填写://即format("Hello, %s! I'm %d years old!", "Peter", 21));}}

?

输出:

Hello, Peter! I'm 21 years old!Hello, Peter! I'm 21 years old!

?

三、Scanner

????? java.util.Scanner是Java SE5中新增的用于文本扫描读入的类,它可以接受任何类型的输入对象,包括File对象、InputStream、String或者Readable对象。有了Scanner,所有的输入、分词以及解析的操作都隐藏在不同类型的next方法中,所有的基本类型(除了char以外)都有对应的next方法,例如nextInt()、nextDouble()等,普通的next()方法返回下一个String。在默认情况下,Scanner根据空白字符对输入进行分词。

热点排行