您的位置:首页 > 编程语言 > Java开发

JAVA学习笔记(6)字符串

2012-08-10 10:09 351 查看
欢迎访问我的个人网站:http://www.qingshuimonk.com/

1. 在JAVA中,字符串是对象,JAVA提供了String类,StringBuffer类和StringTokenizer类来存储和处理字符串。String类创建的字符串不能被修改,StringBuffer类能创建可变的字符串,StringTokenizer是一个工具类,可以从字符串中提取令牌。

2. 字符串类String:

a) 构造语法:String message = new String("Welcome to Java!”);或者Stringmessage = “Welcome to Java!”;

b) 也可用字符数组构成字符串,这一点和C相同。

c) 如果两个String对象是通过快捷初始化相同的字符串直接量构造的,则JAVA虚拟机为了提高效率,将它们存储在同一对象中。这样的字符串称为规范字符串。

d) 在计算机内部,字符串的值是私有数组变量表示的。不能从String类的外部访问该数组。String类提供了许多提取该数组信息的公用方法。

e) PA:注意不要越界访问字符串!

3. substring方法可以从字符串中提取子串

a) public String substring(intbeginIndex, int endIndex);返回一个新的字符串,它是该字符串的子串。子串从指定的beginIndex开始,扩展到下表为endIndex-1的字符

b) public String substring(intbeginIndex);子串从下表为beginIndex的字符开始,扩展到字符串的结尾。

c) 通过substring可以修改字符串的内容,如:

String message = “Welcome to Java”.substring(0,11)+”HTML”;

4. 使用equals()方法检测两个字符串是否具有相同的内容,使用==运算符检测两个字符串是否具有相同的引用。

5. 获取字符串中的一个字符或者子串:

a) public int indexOf(int ch );返回字符串中与指定字符串ch相匹配的第一个下标,若不存在则返回-1;

b) public int indexOf(int ch,intfromIndex);返回字符中fromIndex之后与ch相匹配的第一个下标,若不存在则返回-1;

c) public int indexOf(String str);和public intindexOf(String str,int fromIndex);用法与前两条类似;

d) public int lastindexOf();的用法与前三条类似。

6. 字符类为Character,通过Character character = new Character(‘a’);创建。

7. 字符串缓冲区类StringBuffer

a) StringBuffer类可以在字符串缓冲区中添加、插入或追加新的内容,然而,字符串一旦被创建后,他们的值就不能再被修改

b) public StringBuffer();构造一个没有字符且初始内容为16个字符大小的空字符串缓冲区

c) public StringBuffer(int length);构造一个没有字符且初始容量由参数length指定的字符串缓冲区

d) public StringBuffer(Stringstring);给参数string构造一个字符串缓冲区,其初始容量为string的长度加上16

8. 修改缓冲区中的字符串:

a) 在末尾追加新内容的方法:append();

b) 在指定位置插入新内容的方法:insert(int index,);

c) 删除字符的方法:delete(int fromIndex,int endIndex);或者deleteCharAt(intindex);

d) 倒置字符串的方法:reverse();

e) 替代字符的方法:replace(int fromIndex,int endIndex,String str);

f) 设置字符的方法:setCharAt(0,’w’);

9. 字符串令牌类String Tokenizer:

a) public StringTokenizer(Strings,String delim,Boolean returnDlims);将delim当作String的定界符,如果returnDlims为true,则定界符也看作令牌

b) public StringTokenizer(Strings,String delim);定界符不看作令牌

c) public StringTokenizer(String s);使用默认的\t\n\r作为令牌

10. 字符串扫描类Scanner:

a) 其中的方法useDelimiter(“…”);为以单词作为定界符,从一个字符串中扫描令牌。

b) 如果令牌是基本数据的类型,可以用nextByte(),nextInt();等等的方法来获取它。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: