JAVA学习之字符与字符串_笔记3
2012-08-25 00:41
288 查看
JAVA虽然是在C++基础上发展而来,但却对C++的许多缺陷有所改进,其中一个不得不提的就是字符串,我们知道,随着学习的深入,进入MFC时,当处理字符串或字符时,常会需要通过_T()宏将字符或字符串变成UNICODE型,否则,会在处理中出现BUG,而在JAVA中,字符char或存储在Character类中的字符,不是一个字节,而是2个字节,采用UNICODE,这是为了支持全世界上的所有字符。
字符的序列组成字符串,有两种类型的字符串:一种是创建以后不需要修改的,称为字符串常量,在JAVA中,用String类存储;
一种是创建以后需要对其进行修改的,称为字符串变量,在JAVA中,用StreameBuffer类操作和管理。
1、创建StringBuffer类对象
StringBuffer类对象表示的是字符串变量(注意是"变量"),每一个StringBuffer类对象都是可以扩充和修改的字符串变量。以下是常用的StringBuffer类构造函数:
(1)public
StringBuffer()
创建一个新的空的StringBuffer类的对象,其容量初值设置成16个字符(注意是16个字符)
(2)public
StringBuffer(int length)
创建一个新的空的StringBuffer类的对象,其容量初值设置成length个字符
(3)public
StringBuffer(String
str)
创建一个新的StringBuffer类的对象,其内容为str的内容,容量设置成str长度再加16个字符 (注意:再加上16个字符)
2.StringBuffer类对象的常用方法
(1)StringBuffer类对象的扩充
StringBuffer类提供两组方法用来扩充StringBuffer对象所包含的字符,分别是:
1)public
StringBuffer append
(Object
obj)
append方法用于扩充StringBuffer对象所包含的字符,该方法将指定的参数对象转化为字符串后,将其附加在原来的StringBuffer对象之后,并返回新的StringBuffer对象。附加的的参数对象可以是各种数据类型的,如int、char、String、double等。
2)public
StringBuffer insert(
int插入位置offset,参数对象类型,参数对象名)
该方法将指定的参数对象转化为字符串后,将其插入在原来的StringBuffer对象中指定的位置,并返回新的StringBuffer对象。
(2)StringBuffer类对象的长度与容量
一个StringBuffer类对象的长度指的是它包含的字符个数;容量指的是被分配的字符空间的数量。
1)public
int length()
该方法返回当前StringBuffer类对象包含的字符个数。
2)public
int capacity()
该方法返回当前StringBuffer类对象分配的字符空间的数量。
(3)StringBuffer类对象的修改
public void
setCharAt(intindex,charch)
该方法将当前StringBuffer对象中的index位置的字符替换为指定的字符ch。
(4)字符串的赋值和加法
字符串是在程序中要经常使用的数据类型,在Java编译系统中引入了字符串的赋值和加法操作。
(5)其它方法类似String类的方法
3.3利用StringTokenizer类分解字符串
StringTokenizer类位于java.util包中,
在使用该类时在程序开始加上
importjava.util.StringTokenizer或
importjava.util.*
对于StringTokenizer类,其主要作用是将字符串按照给定的分割符进行分割,其功能和String类的split方法类似,
1、StringTokenizer类的构造函数
(1)StringTokenizer(Stringstr)
为给定的字符串str创建一个StringTokenizer对象,其分隔符默认设置为“\t\n\r\f”,亦即:空格、水平制表符tab、换行、回车、表格符
(2)StringTokenizer(String str,String delim)
为给定的字符串str创建一个StringTokenizer对象,其分隔符为指定的字符串delim,默认不包含分隔符
3)StringTokenizer(String str,String delim,boolean returnDelims)
为给定的字符串str创建一个StringTokenizer对象,其分隔符为指定的字符串delim,如果returnDelims为true,则创建的StringTokenizer对象中的每个字符串包含有分隔符,否则不包含分隔符
2、StringTokenizer类的常用方法
nIntcountTokens()
返回StringTokenizer对象中被分割后子字符串的个数
nBooleanhasMoreElements()
该方法的功能和hasMoreTokens()方法的功能一样
nBooleanhasMoreTokens()
检测StringTokenizer对象中是否包含分割好的子字符串,有则返回true,否则返回false
ObjectnextElement()
该方法具有nextToken()一样的功能,主要区别是它返回的不是String对象,而是一个Object对象
StringnextToken()
返回StringTokenizer对象中下一个分割好的子字符串
StringnextToken(String delim)
返回StringTokenizer对象中下一个分割好的子字符串,但是分隔符被重新设定为delim
n其实在有些编程语言中,比如C语言,其字符串就是由字符数组构成的,每个字符串的结尾用“\0”标志,但是在Java中却不是这样的。
n在Java中,字符串通常是作为String类的对象存在着,如:Strings=“I
like Java!”,其中“Ilike Java!”就是一个对象。
所以说,Java中的字符串和字符数组是完全不相同的,和C语言中的字符串也是不一样的!
n为了方便字符串和字符数组的转换,在String类中提供了许多这样的构造函数和方法
n如构造函数String(char[] value)
n方法toCharArray()
方法valueOf(char[] data)
字符的序列组成字符串,有两种类型的字符串:一种是创建以后不需要修改的,称为字符串常量,在JAVA中,用String类存储;
一种是创建以后需要对其进行修改的,称为字符串变量,在JAVA中,用StreameBuffer类操作和管理。
1、创建StringBuffer类对象
StringBuffer类对象表示的是字符串变量(注意是"变量"),每一个StringBuffer类对象都是可以扩充和修改的字符串变量。以下是常用的StringBuffer类构造函数:
(1)public
StringBuffer()
创建一个新的空的StringBuffer类的对象,其容量初值设置成16个字符(注意是16个字符)
(2)public
StringBuffer(int length)
创建一个新的空的StringBuffer类的对象,其容量初值设置成length个字符
(3)public
StringBuffer(String
str)
创建一个新的StringBuffer类的对象,其内容为str的内容,容量设置成str长度再加16个字符 (注意:再加上16个字符)
2.StringBuffer类对象的常用方法
(1)StringBuffer类对象的扩充
StringBuffer类提供两组方法用来扩充StringBuffer对象所包含的字符,分别是:
1)public
StringBuffer append
(Object
obj)
append方法用于扩充StringBuffer对象所包含的字符,该方法将指定的参数对象转化为字符串后,将其附加在原来的StringBuffer对象之后,并返回新的StringBuffer对象。附加的的参数对象可以是各种数据类型的,如int、char、String、double等。
2)public
StringBuffer insert(
int插入位置offset,参数对象类型,参数对象名)
该方法将指定的参数对象转化为字符串后,将其插入在原来的StringBuffer对象中指定的位置,并返回新的StringBuffer对象。
(2)StringBuffer类对象的长度与容量
一个StringBuffer类对象的长度指的是它包含的字符个数;容量指的是被分配的字符空间的数量。
1)public
int length()
该方法返回当前StringBuffer类对象包含的字符个数。
2)public
int capacity()
该方法返回当前StringBuffer类对象分配的字符空间的数量。
(3)StringBuffer类对象的修改
public void
setCharAt(intindex,charch)
该方法将当前StringBuffer对象中的index位置的字符替换为指定的字符ch。
(4)字符串的赋值和加法
字符串是在程序中要经常使用的数据类型,在Java编译系统中引入了字符串的赋值和加法操作。
(5)其它方法类似String类的方法
3.3利用StringTokenizer类分解字符串
StringTokenizer类位于java.util包中,
在使用该类时在程序开始加上
importjava.util.StringTokenizer或
importjava.util.*
对于StringTokenizer类,其主要作用是将字符串按照给定的分割符进行分割,其功能和String类的split方法类似,
1、StringTokenizer类的构造函数
(1)StringTokenizer(Stringstr)
为给定的字符串str创建一个StringTokenizer对象,其分隔符默认设置为“\t\n\r\f”,亦即:空格、水平制表符tab、换行、回车、表格符
(2)StringTokenizer(String str,String delim)
为给定的字符串str创建一个StringTokenizer对象,其分隔符为指定的字符串delim,默认不包含分隔符
3)StringTokenizer(String str,String delim,boolean returnDelims)
为给定的字符串str创建一个StringTokenizer对象,其分隔符为指定的字符串delim,如果returnDelims为true,则创建的StringTokenizer对象中的每个字符串包含有分隔符,否则不包含分隔符
2、StringTokenizer类的常用方法
nIntcountTokens()
返回StringTokenizer对象中被分割后子字符串的个数
nBooleanhasMoreElements()
该方法的功能和hasMoreTokens()方法的功能一样
nBooleanhasMoreTokens()
检测StringTokenizer对象中是否包含分割好的子字符串,有则返回true,否则返回false
ObjectnextElement()
该方法具有nextToken()一样的功能,主要区别是它返回的不是String对象,而是一个Object对象
StringnextToken()
返回StringTokenizer对象中下一个分割好的子字符串
StringnextToken(String delim)
返回StringTokenizer对象中下一个分割好的子字符串,但是分隔符被重新设定为delim
n其实在有些编程语言中,比如C语言,其字符串就是由字符数组构成的,每个字符串的结尾用“\0”标志,但是在Java中却不是这样的。
n在Java中,字符串通常是作为String类的对象存在着,如:Strings=“I
like Java!”,其中“Ilike Java!”就是一个对象。
所以说,Java中的字符串和字符数组是完全不相同的,和C语言中的字符串也是不一样的!
n为了方便字符串和字符数组的转换,在String类中提供了许多这样的构造函数和方法
n如构造函数String(char[] value)
n方法toCharArray()
方法valueOf(char[] data)
相关文章推荐
- java学习笔记--数学函数、字符和字符串
- (学习笔记) Java byte[]转二进制字符串,十六进制字符串的相互转换
- Java学习笔记(二):字符串String类
- Android NDK (学习笔记五) —— java层和native层进行字符串的交互处理
- Java学习笔记之字符串(五)
- JAVA 字符串学习笔记
- Java笔记之语言基础_字符与字符串
- C++学习笔记——erase删除字符串中特定字符 由leetcode383题想到的
- Java学习笔记38. 字符串的几个常用方法
- Java学习笔记(二十三):将InputStream转成字符串和写入文件
- 黑马程序员 java学习笔记 Day5:IO流、字符流、字节流
- java字符串、字符、整数、浮点数输入方式笔记
- Python学习笔记(6) -- 字符转数字、字符串转整型(char2num、str2int)
- java学习笔记05--字符串
- Java学习笔记之字符串
- java学习笔记(五) -- 字符串
- Java IO学习笔记(三):字节流与字符流
- JAVA学习笔记(三十三)- 字节流转换为字符流
- Java学习笔记---字符类型
- 学习笔记之10-字符和字符串常用处理函数