java教程——字符和字符串

上传人:第*** 文档编号:49494410 上传时间:2018-07-29 格式:PPT 页数:45 大小:699.50KB
返回 下载 相关 举报
java教程——字符和字符串_第1页
第1页 / 共45页
java教程——字符和字符串_第2页
第2页 / 共45页
java教程——字符和字符串_第3页
第3页 / 共45页
java教程——字符和字符串_第4页
第4页 / 共45页
java教程——字符和字符串_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《java教程——字符和字符串》由会员分享,可在线阅读,更多相关《java教程——字符和字符串(45页珍藏版)》请在金锄头文库上搜索。

1、字符和字符串Java平台三个用于处理字符数据的类 :vCharacter 此类的实例可以包含单个字符值。还定义了一些可以用于操作和检查字符数据的简 便方法vString 此类用于处理由多个字符组成的不可改变的数据。vStringBuffer 此类用于存储和操作由多个字符组成的可改变的数据。一.字符Character 类型的对象是单个字符 Character 类型对象的创建:例:Character a= new Character (a);注:a 为Character 类型的对象名,指向 存放字符a的引用当需要使用对象时,可用Character对象 代替原始的Char类型的变量例:将一个字符值传

2、递给会改变此值的方法,或在将 字符值放进一个需要对象的数据结构(比如向量)示例程序CharacterDemo:public class CharacterDemo public static void main(String args) Character a = new Character(a);Character a2 = new Character(a);Character b = new Character(b);int difference = pareTo(b); if (difference = 0) System.out.println(“a is equal to b.”);

3、 else if (difference 0) System.out.println(“a is greater than b.”); System.out.println(“a is ” + (a.equals(a2) ? “equal” : “not equal”)+ “ to a2.”); System.out.println(“The character ” + a.toString() + “ is ” + (Character.isUpperCase(a.charValue() ? “upper” : “lower”)+ “case.”); 这个程序的输出: a is less t

4、han b. a is equal to a2. The character a is lowercase.Character 类提供的构造器Character (char)- Character类唯一的构造器, Character对象一旦创建,它包含的值就不能 改变Character类中的类方法compareTO(Character)- 比较两个字符对象包含的值,返回一个整数值 int difference =pareTo(b)a为此方法所在的对象b为此方法的参数 equals (object)-比较当前对象包含的值与参数对象包含的值,如 果两个对象包含的值相等,返回ture例:a.equa

5、ls(a2)toString ()-将此对象转换为字符串,产生的字符串的长度为一 个字符,它包含此字符对象包含的值 例:Character a= new Character (a); System.out.println(a.toString (); 输出结果为acharValue()-此方法以原始char 值的形式返回此字符对象包含的 值boolean isUpperCase(char)-此方法判断一个原始char值是否是大写字母例:判断程序中语句的返回值 Character.isUpperCase(a.charValue() 输出为: falseboolean isLowerCase(ch

6、ar) -判断指定的原始char值是否为 小写char toUpperCase(char) char toLowerCase(char)-返回指定的原始char值大写或小写形式boolean isLettter (char) boolean isDigit(char) boolean isLetterOrDigit(char)-分别判断指定的原始char 值是否是字母,数字,或 者属于字母或数字boolean isWhiteSpace(char) -根据java 平台判断指定的原始char 值 boolean isSpaceChar(char)-根据Unicode规范判断指定的原始char值是

7、否是空字节 boolean isJavaIdentifierStart(char) boolean isJavaIdentifierPart(char)-分别判断指定的原始char值是否可以是合法标识符 的第一个字符,或者合法标识符的一部分char与Character的区别:char 为字符型数据,声明变量形式为char m;表示m为字符型变量,存放一个字符,变量m即 代表 该字符常量 Character为引用型数据中的类。定义变量后,变量 名指向的是所赋值的引用,即地址,而不是值的本 身。二、字符串和字符串缓冲区(一)两个类 String和StringBuffer字符串:有多个字符组成的字符

8、数据两个类的差异:String用于其值不能改变的字符串StringBuffer用于将被修改的字符串字符串缓冲区通常用于动态地构造字符数据注: 字符串是常量,比使用字符串缓冲区更高效, 且字符串可共享,所以只要可能就使用字符串。示例程序StringDemo:public class StringsDemo public static void main(String args) String palindrome = “Dot saw I was Tod”;int len = palindrome.length();StringBuffer dest = new StringBuffer(len

9、);for (int i = (len - 1); i = 0; i-) dest.append(palindrome.charAt(i) /append 方法将参数指定的字符添加到dest中 System.out.println(dest.toString(); 输出:doT saw I was toDString和StringBuffer类的功能:1、创建字符串和字符串缓冲区2、使用访问器方法得到关于字符串和字符串缓冲区的信息3、修改字符串缓冲区(二)创建字符串和字符串缓冲区区 字符串:(1)字符串直接值(双引号)String palindrome=“Dot saw I was Tod”;

10、(2)使用new关键字和构造器允许使用不同的数据源提供字符串的初始值如:字符数组、字节数组或字符串缓冲区String类的构造器:vString() 创建一个空字符串vString(byte)vString(byte,int,int)vString(byte,int,int,String)vString(byte,String) 创建一个字符串,值由一个字节数组的内容设置。两个整数参数分别设置用作初始值的子数组的偏移量和长度,String参数指定将字节 转换为字符所用的字符编码 vString(char)vString(char,int,int) 字符串的值由一个字符数组的内容设置。两个整数参数

11、分别设置用作初始值的子数组的偏移量 和长度vString(String) 字符串的值由另一个字符串设置。它创建两个相同的 字符串,不建议使用vString(StringBuffer) 字符串的值由一个字符串缓冲区设置例:从一个字符数组创建字符串char helloArray=h,e,l,l,o;helloString=new String(helloArray);System.out.println(helloString);此代码片断的最后一行显示:hello字符串缓冲区:必须使用new操作符和构造器三个构造器:StringBuffer 创建一个空的字符串缓冲区,初始容量是16个字符Stri

12、ngBuffer(int) 创建一个空的字符串缓冲区,它具有指定的初始容量StringBuffer(String) 创建一个字符串缓冲区,值由指定的String初始化。容量是原始字符串的长度加16示例: StringsDemo程序中:String palindrome = “Dot saw I was Tod”;int len = palindrome.length();StringBuffer dest = new StringBuffer(len);上例创建了一个由dest引用的字符串缓冲区,初始容量等于由 palindrome引用的字符串的长度,(三)得到字符串或字符串缓冲区的长度访问器

13、方法:用于获取关于对象的信息的方法(1)length方法返回字符串或字符串缓冲区中包含的字符数 (2)capacity方法(仅用于StringBuffer类)返回分配给此字符串缓冲区的空间量,而不是被使用的 空间量示例1:String palindrome = “Dot saw I was Tod”;int len = palindrome.length();代码执行后,len等于17示例2:StringsDemo程序中由dest引用的字符串缓冲区的长度在循环的每次迭代中加1,但它的容量保 持不变0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Length()=9 capacity()=17*字符串缓冲区的长度是它包含的字符数,容量是已分配给它的字符空间量 *String类没有capacity方法,因为字符串不能被改变D otsa wI(四)通过索引从字符串或字符串缓冲区 得到字符 使用chatAt访问器方法第一个字符的索引为0,最后一个字符的索引为length()-1String anotherPalindrome=“Niagara.O roar again!”; Char aChar=anotherPalindrome.chatAt(9);索引从0开始,所以索引9位

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号