JAVA学习之字符与字符串_笔记3

         JAVA虽然是在C++基础上发展而来,但却对C++的许多缺陷有所改进,其中一个不得不提的就是字符串,我们知道,随着学习的深入,进入MFC时,当处理字符串或字符时,常会需要通过_T()宏将字符或字符串变成UNICODE型,否则,会在处理中出现BUG,而在JAVA中,字符char或存储在Character类中的字符,不是一个字节,而是2个字节,采用UNICODE,这是为了支持全世界上的所有字符。

        字符的序列组成字符串,有两种类型的字符串:一种是创建以后不需要修改的,称为字符串常量,在JAVA中,用String类存储;

     一种是创建以后需要对其进行修改的,称为字符串变量,在JAVA中,用StreameBuffer类操作和管理。


1、创建StringBuffer类对象

     StringBuffer类对象表示的是字符串变量(注意是"变量"),每一个StringBuffer类对象都是可以扩充和修改的字符串变量。以下是常用的StringBuffer类构造函数:

      (1public StringBuffer()

       创建一个新的空的StringBuffer类的对象,其容量初值设置成16个字符(注意是16个字符)

   (2public StringBufferint length

       创建一个新的空的StringBuffer类的对象,其容量初值设置成length个字符

    (3public StringBufferString str

       创建一个新的StringBuffer类的对象,其内容为str的内容,容量设置成str长度再加16个字符 (注意:再加上16个字符)

2StringBuffer类对象的常用方法

     (1StringBuffer类对象的扩充

         StringBuffer类提供两组方法用来扩充StringBuffer对象所包含的字符,分别是:

        1public StringBuffer append

                            Object  obj

          append 方法用于扩充 StringBuffer 对象所包含的字符,该方法将指定的参数对象转化为字符串后,将其附加在原来的 StringBuffer 对象之后,并返回新的 StringBuffer 对象。附加的的参数对象可以是各种数据类型的,如 int char String double 等。

2public StringBuffer insert

        int插入位置offset,参数对象类型,参数对象名)

    该方法将指定的参数对象转化为字符串后,将其插入在原来的StringBuffer对象中指定的位置,并返回新的StringBuffer对象。

    (2StringBuffer类对象的长度与容量

    一个StringBuffer类对象的长度指的是它包含的字符个数;容量指的是被分配的字符空间的数量。

     1public int length()

        该方法返回当前StringBuffer类对象包含的字符个数。

    2public int capacity()

   该方法返回当前 StringBuffer 类对象分配的字符空间的数量。

3StringBuffer类对象的修改

   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 方法类似,

1StringTokenizer类的构造函数

1StringTokenizer(Stringstr)

         为给定的字符串str创建一个StringTokenizer对象,其分隔符默认设置为\t\n\r\f,亦即:空格、水平制表符tab、换行、回车、表格符

2StringTokenizer(String str,String delim)

              为给定的字符串 str 创建一个 StringTokenizer 对象,其分隔符为指定的字符串 delim ,默认不包含分隔符


3StringTokenizer(String str,String delim,boolean returnDelims)

             为给定的字符串str创建一个StringTokenizer对象,其分隔符为指定的字符串delim,如果returnDelimstrue,则创建的StringTokenizer对象中的每个字符串包含有分隔符,否则不包含分隔符

2StringTokenizer类的常用方法

n Int countTokens ()
返回 StringTokenizer 对象中被分割后子字符串的个数
n Boolean hasMoreElements ()
该方法的功能和 hasMoreTokens () 方法的功能一样
n Boolean hasMoreTokens ()
检测 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值