Java2-6字符串处理_第1页
Java2-6字符串处理_第2页
Java2-6字符串处理_第3页
Java2-6字符串处理_第4页
Java2-6字符串处理_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第第6章章 字符串处理字符串处理 本章主要讲述如下内容:本章主要讲述如下内容: 字符串的分类;字符串的分类; 内容不可改变的字符串类内容不可改变的字符串类String; 字符串常量;字符串常量; 内容可以改变的字符串类内容可以改变的字符串类StringBuffer; 字符串应用。字符串应用。 26.1 字符串的分类字符串的分类 java.lang包中定义了包中定义了 String和和StringBuffer两个类;两个类; 在运行中值不会改变的字符串,用在运行中值不会改变的字符串,用String类类存储;值会改变的字符串用存储;值会改变的字符串用StringBuffer类类来存储。来存储。

2、两个类都有两个类都有final修饰,这样可以优化字符修饰,这样可以优化字符串的操作。串的操作。36.2 String类类 String类的定义原型类的定义原型 :public final class java.lang.String extends java.lang.Object 46.2.1 字符串常量字符串常量 字符串常量属于字符串常量属于String类型类型; ; 相同的字符串常量属于同一个对象,占用相同的字符串常量属于同一个对象,占用同一块空间同一块空间 ,例如,例如:/ 程序程序6-1public class TestConstString public static void m

3、ain(String args ) String str1=Hello, str2=Hello;System.out.println(str1=str2);System.out.println(Java=Java); 66.2.2 创建创建String类对象类对象 用用new运算符,并调用构造函数创建这种运算符,并调用构造函数创建这种类型的对象,常见构造函数如下:类型的对象,常见构造函数如下: 1. public String( )采用该构造函数创建一个不含字符的空对象。采用该构造函数创建一个不含字符的空对象。例如:例如: String str =new String( ); 2. publi

4、c String(char value ) 将字符数组的内容转换为字符串,并赋予新将字符数组的内容转换为字符串,并赋予新建的对象。例如:建的对象。例如:char a =J,a,v,a; String str=new String(a);3. public String(char value , int offset, int count) 例如:例如:char a =J,a,v,a; String str=new String(a,1,2); / 字符串字符串str的内容是的内容是av 4. public String(String value) 采用采用value对象的值构造一个新的对象的值

5、构造一个新的string对象。对象。 例如:例如:String str1=Java;String str2=new String(Java);System.out.println(str2);System.out.println(str1=str2); 5. public String(StringBuffer Buffer) 注意注意采用字符串常量初始化一个采用字符串常量初始化一个String引用的引用的问题。例如:问题。例如: String str = abc;等价于:等价于:char data = a, b, c;String str = new String(data);应用举例,注意

6、应用举例,注意程序程序6-2的输出结果:的输出结果: public class TestString / 程序程序6-2 public static void main(String args ) String s1=Java, s2=Java;String s3=new String(s1); System.out.println( s1=s2 is +(s1=s2);System.out.println( s1=s3 is +(s1=s3);s1=ABC;s2=DEFG;System.out.println( s1=s2 is +(s1=s2);s1=s2;System.out.print

7、ln( s1=s2 is +(s1=s2); 116.2.3 String类常用方法类常用方法 1. public int length( ): 求串长。求串长。 例如:例如: String str=Java ;System.out.println(str.length( ); 2. public char charAt(int index ) 提取指定位置上的字符。提取指定位置上的字符。 3. public int compareTo(String anotherString) 对字符串内容按字典序进行大小比较。例如:对字符串内容按字典序进行大小比较。例如: public class Sor

8、tStringArrary / 程序程序6-3 public static void main(String args ) String str,s =Computer,CHINA,world,U.S.A;int i,j,k;System.out.print(排序之前:排序之前:);for(i=0;is.length;i+) System.out.print(t+si); for(i=0;is.length-1;i+) for(k=i,j=i+1;j0)k=j; str=si; si=sk; sk=str; / 注意该行的含义注意该行的含义System.out.print(n排序之后:排序之后

9、:);for(i=0;is.length;i+) System.out.print(t+si); 136.2.3 String类常用方法类常用方法( (续续) )4. char toCharArray( ) 将将String对象转换到一个字符数组中,例如:对象转换到一个字符数组中,例如: String s=Hello,Java!; char a ; a=s.toCharArray( ); for (int i=6;ia.length;i+) System.out.print(ai); 146.2.3 String类常用方法类常用方法( (续续) )5. public boolean equal

10、s(String anString) 比较两个字符串对象的内容是否相等。比较两个字符串对象的内容是否相等。6. public boolean equalsIgnoreCase(String anotherString) 以忽略大小写方式,比较两个字符串对象的内以忽略大小写方式,比较两个字符串对象的内容是否相等。容是否相等。 注意:注意:equals( )方法与方法与“=” ” 之间的区别。例之间的区别。例如:如:public class ConfuseQuestion / 程序程序6-5 public static void main(String args ) String s1=java;

11、String s2=new String(s1); String s3=s2; System.out.println(s1.equals(s2); System.out.println(s2.equals(s3); System.out.println(s2=s3); System.out.println(s2.equals(s3); 166.2.3 String类常用方法类常用方法( (续续) )7. public int indexOf(int ch / String str) 在字符串中搜索字符或子串,返回字符或在字符串中搜索字符或子串,返回字符或子串在子串在String对象中从左边起首

12、次出现的位置。对象中从左边起首次出现的位置。如果没有出现,返回如果没有出现,返回-1。8. public String substring(int begin, int end ) 提取提取string对象中从对象中从begin开始,到开始,到end-1结束的子串,返回提取的子串。结束的子串,返回提取的子串。 176.2.3 String类常用方法类常用方法( (续续) )9. public String concat(String str) 将将str对象接到调用对象的后面,返回新串。例对象接到调用对象的后面,返回新串。例如:如:String s1=Hello , s2=Java , s3;

13、s3=s1.concat(s2); System.out.println(s3); 注意:注意:如果参数如果参数str为空(为空(null),),则则concat方法方法不创建新串,而仅仅返回当前串,不创建新串,而仅仅返回当前串, 186.2.3 String类常用方法类常用方法( (续续) )10. public String replace(char oldChar, char newChar) 将将String对象中所有的对象中所有的oldChar字符替换为字符替换为newChar,返回替换后的新串。例如:返回替换后的新串。例如: String path=d:/myjava/docume

14、nts; System.out.println(path.replace( / , ); public String toString( ) 11.11. 返回当前字符串对象本身。返回当前字符串对象本身。 196.2.3 String类常用方法类常用方法( (续续) )12. public static String valueOf( 各种类型各种类型 f ) 将各种数据类型转换成一个相应的字符将各种数据类型转换成一个相应的字符串表示,该方法是一个串表示,该方法是一个static方法。方法。程序程序6-6演示了演示了valueOf( )方法的应用。方法的应用。 程序程序6-7自学。自学。pub

15、lic class TestValueOf / 程序程序6-6 public static void main(String args ) char a =A,B,C,D,E,F;int i=123456;float f=3.14159f;boolean b=true;Object o=null; System.out.println(String.valueOf(a);System.out.println(String.valueOf(a,2,3);System.out.println(String.valueOf(i);System.out.println(String.valueOf(f

16、);System.out.println(String.valueOf(b);System.out.println(String.valueOf(o); 各种各种类型类型数据数据216.2.4 Java应用程序的命令行参数应用程序的命令行参数 应用程序可以通过应用程序可以通过main方法的方法的String数组,数组,访问由解释器传递的命令行参数。例如:访问由解释器传递的命令行参数。例如:public class ShowMainArguments /程序程序6-8 public static void main(String args ) for(int i = 0; i Z | cz)c=

17、c-26;return (char)c; / 将将int转换为转换为char public static void main(String args ) throws IOException BufferedReader in=new BufferedReader(new InputStreamReader(System.in);String line;StringBuffer buf;for( ; ; ) System.out.print( );line=in.readLine( ); if(line=null) | line.equals(quit )break; buf=new StringBuffer(line);for(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论