Java实用PPT课件第6章.ppt
《Java实用PPT课件第6章.ppt》由会员分享,可在线阅读,更多相关《Java实用PPT课件第6章.ppt(33页珍藏版)》请在三一办公上搜索。
1、1,第6章字符串和正则表达式,本章导读String类StringBuffer类StringTokenizer类正则表达式与字符串的替换和分解Scanner类模式匹配,2,6.1 String类,Java使用java.lang包中的String类来创建一个字符串变量,因此字符串变量是类类型变量,是一个对象。,3,1.创建字符串对象,使用String类的构造方法创建字符串对象,例如:String s;s=new String(we are students);声明和创建可用一步完成:String s=new String(we are students);也可以用一个已创建的字符串创建另一个字符串
2、,如:String tom=String(s);String类还有两个较常用的构造方法:(1)String(char a)用一个字符数组a 创建一个字符串对象,如 char a=b,o,y;String s=new String(a);(2)String(char a,int startIndex,int count)提取字符数组a中的一部分字符创建一个字符串对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数,如 char a=s,t,b,u,s,n;String s=new String(a,2,3);,4,2引用字符串常量对象,字符串常量
3、是对象,因此可以把字符串常量的引用赋值给一个字符串变量,如string s1,s2;s1=How are you;s2=How are you;这样,s1和s2具有相同的引用,因而具有相同的实体。s1和s2的内存示意如图6.1所示。,5,3.String 类的常用方法(1),(1)public int length()获取一个字符串的长度 String s=we are students,tom=我们是学生;int n1,n2;n1=s.length();n2=tom.length();那么,n1的值是15,n2的值是5。字符串常量也可调用length()获得自身长度,如你的爱好.length
4、()的值是4。(2)public boolean equals(String s)比较当前字符串对象的实体是否与参数指定的字符串s的实体相同.String tom=new String(we are students);String jerry=new String(we are students);tom.equals(jerry)的值是true(tom=jerry的值是false)。内存示意如图6.2 相近的方法:public boolean equalsIgnoreCase(String s)(3)public boolean contains(String s)断当前字符串对象是否含有
5、参数指定的字符串s 例6-1说明了方法equals()和contains()的用法(效果如图6.3所示)。,6,内存示意如图6.2,7,3.String 类的常用方法(2),(4)public boolean startsWith(String s)、public boolean endsWith(String s)判断当前字符串对象的前缀、后缀是否是参数指定的字符串s,如 tom.startsWith(220)的值是true,jerry.startsWith(220)的值是false。tom.endsWith(021)的值是true,jerry.endsWith(021)的值是false。(
6、5)public int compareTo(String s)按字典序与参数s指定的字符串比较大小。如 String str=abcde;pareTo(boy)小于0,pareTo(aba)大于0,pareTo(abcde)等于0。相近的方法:public int compareToIgnoreCase(String s)该方法忽略大小写,8,3.String 类的常用方法(3),(6)public int indexOf(String s)从当前字符串的头开始检索字符串s,并返回首次出现s的位置。如果没有检索到字符串s,该方法返回的值是-1。indexOf(String s,int sta
7、rtpoint)从当前字符串的startpoint位置处开始检索字符串s,并返回首次出现s的位置。如果没有检索到字符串s,该方法返回的值是-1。lastIndexOf(String s)从当前字符串的头开始检索字符串s,并返回最后出现s的位置.如果没有检索到字符串s,该方法返回的值是-1。如String tom=I am a good cat;tom.indexOf(a);/值是2tom.indexOf(good,2);/值是7tom.indexOf(a,7);/值是13 tom.indexOf(w,2);/值是-1(7)public String substring(int startpoi
8、nt)获得一个当前字符串的子串,该子串是从当前字符串的startpoint处截取到最后所得到的字符串。substring(int start,int end)获得一个当前字符串的子串,该子串是从当前字符串的start处截取到end处所得到的字符串,但不包括end处所对应的字符。如 String tom=I love tom;String s=tom.substring(2,5);则s为“lov”。(8)public String trim()字符串对象s调用该方法得到一个字符串对象,该字符串对象是s去掉前后空格后的字符串。,9,4.字符串与基本数据的相互转化,java.lang包中的Integ
9、er类调用其类方法:public static int parseInt(String s)将“数字”格式的字符串,如“12387”,转化为int型数据。类似地,使用java.lang包中的Byte、Short、Long、Float、Double类调相应的类方法:public static byte parseByte(String s)public static short parseShort(String s)public static long parseLong(String s)public static double parseDouble(String s)public sta
10、tic double parseDouble(String s)可以将“数字”格式的字符串,转化为相应的基本数据类型。使用Long类中的下列类方法可得到整数的各种进制的字符串表示:public static String toBinaryString(long i)public static String toOctalString(long i)public static String toHexString(long i)public static String toString(long i,int p)其中的toString(long i,int p)返回整数i的p进制表示 例6-2
11、求若干个数的平均数,若干个数从键盘输入(效果如图6.4所示)。,10,例子6-2 效果图,有时,我们需要将数字转化为字符串,可以使用String 类的下列类方法:public String valueOf(byte n)public String valueOf(int n)public String valueOf(long n)public String valueOf(float n)public String valueOf(double n)形如123、1232.98的数值转化为字符串,如String str=String.valueOf(12313.9876);float x=12
12、3.987f;String temp=String.valueOf(x);,11,5对象的字符串表示,所有的类都默认是java.lang包中Object类的子类或间接子类。Object类有一个public方法public String toString(),一个对象通过调用该方法可以获得该对象的字符串表示。一个类可以通过重写public String toString()方法,以便获得该类对象想要的字符串表示,比如java.util包中的Date类就重写了public String toString(),使得Date对象调用toString()得到的字符串是由日期信息组成的字符序列。如果一个类
13、没有重写public String toString()方法,那么该类所创建的对象调用toString()方法得到的字符串格式为:类名对象的引用 例6-3中的Student类重写了toString()方法、TV类没有重写toString()方法.,12,6字符串与字符数组、字节数组,(1)字符串与字符数组 类的构造方法String(char)和String(char,int offset,int length)分别用数组a中的全部字符和部分字符创建字符串对象。String类也提供了将字符串存放到数组中的方法:public void getChars(int start,int end,char
14、 c,int offset)字符串调用getChars()方法将当前字符串中的一部分字符复制到参数c指定的数组中,将字符串中从位置start到end-1位置上的字符复制的数组c中,并从数组c的offset处开始存放这些字符。String类还提供了一个方法 public char toCharArray()字符串对象调用该方法可以初始化一个字符数组,该数组的长度与字符串的长度相等,并将字符串对象的全部字符复制到该数组中。例6-4将用户在键盘输入的字符串加密,然后输出密文,见效果图。(2)字符串与字节数组 String类的构造方法String(byte)用指定的字节数组构造一个字符串对象。构造方法
15、String(byte,int offset,int length)用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。方法public byte getBytes()使用平台默认的字符编码,将当前字符串转化为一个字节数组。例6-5使用了字节数组,见效果图。,13,例子6-4,例子6-5效果图,例子6-5效果图,例子6-4效果图,14,6.2 StringBuffer 类,前面我们学习了String字符串对象,String类创建的字符串对象是不可修改的。也就是说,String字符串不能修改、删除或替换字符串中的某个字符,即String对象一旦创建,
16、实体是不可以再发生变化的(如图6.5所示).本节将介绍StringBuffer类,该类能创建可修改的字符串序列,即该类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符串。一个StringBuffer对象调用append()方法可以追加字符串序列,如 StringBuffer s=new StringBuffer(I love this game);s.append(ok);对象s调用append()追加一个字符串序列,如图6.6所示。,15,1StringBuffer类的构造方法,StringBuffer类有3个构造方法:StringBuffer(),StringBuffer(
17、int size)和StringBuffer(String s)。构造方法StringBuffer()创建一个StringBuffer对象,分配给该对象的实体的初始容量可以容纳16个字符,当该对象的实体存放的字符序列的长度大于16时,实体的容量自动增加,以便存放所增加的字符。StringBuffer对象可以通过方法length()获取实体中存放的字符序列的长度,通过方法capacity()获取当前实体的实际容量。构造方法StringBuffer(int size)创建一个StringBuffer对象,可以指定分配给该对象的实体的初始容量为参数size 指定的字符个数。当该对象的实体存放的字符序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 实用 PPT 课件
链接地址:https://www.31ppt.com/p-6509763.html