Java2实用教程课件第五章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第五章字符串字符串5.1字符串5.2字符串常用方法5.3字符串与基本数据的相互转化5.4对象的字符串表示5.5StringTokenizer类5.6字符串与字符、字节数组5.7StringBuffer类5.1字符串Java使用java.lang包中的String类来创建一个字符串变量,因此字符串变量是对象。1.符串常量如,“你好”,“1234.987”,“weqweo”。2.创建字符串使用String类的构造方法,例如:Strings=newString(wearestudents);5.1String类创建字符串常量String对象(1/2)String类的构造方法:1.publicString()用来创建一个空的字符串常量。2.publicString(Stringvalue)利用一个已经存在的字符串常量创建一个新的String对象,该对象的内容与给出的字符串常量一致。这个字符串常量可以是另一个String对象,也可以是一个用双引号括起的直接常量。3.publicString(charvalue[])利用一个已存在的字符数组的内容初始化新建的String对象4.publicString(charvalue[],intstartIndex,intcount)提取字符数组的一部分字符创建一个字符串对象,参数startIndex和count指定提取字符的起始位置和结束位置。测试String类构造方法classTestString{publicstaticvoidmain(String[]args){Stringa1=newString();Stringa2=newString(HelloWorld!);char[]ch={'s','t','b','u','s','n'};Stringa3=newString(ch);Stringa4=newString(ch,2,3);System.out.println(a1=+a1);System.out.println(a2=+a2);System.out.println(a3=+a3);System.out.println(a4=+a4);}}Stringa5=HelloWorld注:(补充)字符串常量用String类的对象表示。字符串常量与字符常量的不同,字符常量是用单引号括起的单个字符,而字符串常量是用双引号括起的字符序列。Java的字符串常量通常是作为String类的对象存在,有专门的属性来规定它的长度。实际上,对于所有用双引号括起的字符串常量,系统都会为它创建一个无名的String类型对象。5.2字符串的常用方法1.字符串长度2.比较两个字符串是否相同3.判断字符串的前缀和后缀4.字符串中单个字符的查找5.字符串中子串的查找6.比较两个字符串7.连接两个字符串5.2字符串的常用方法1.字符串长度publicintlength()求字符串的长度,获得当前字符串对象中字符的个数5.2字符串的常用方法2.比较两个字符串是否相同publicbooleanequals(Strings)比较当前字符串对象的实体是否与参数指定字符串s的实体相同。publicbooleanequalsIgnoreCase(StringanotherString);方法equals是重载Object类的方法,它将当前字符串与参数列表中给出的字符串相比较,若两字符串相同,则返回真,否则返回假。方法equalsIgnoreCase与方法equals的用法相似,只是它比较字符串时将不计字母大小写的差别。思考:通过本程序思考tom==jerry是false,而s1==s2是true?通过本程序思考tom==jerry是false,而s1==s2是true?oxAb98ox54c98wearestudentswearestudentstomjerry字符串常量是对象,把字符串常量的引用赋值给一个字符串变量,变量具有相同的引用。Howareyou!oxAb28oxAb28s1s25.2字符串的常用方法2.比较两个字符串3.publicintcompareTo(StringanotherString);将当前字符串与一个参数字符串相比较,并返回一个整型量。如果当前字符串与参数字符串完全相同,则返回0;如果当前字符串按字母序大于参数字符串,则返回一个大于0的整数;反之返回一个小于0的整数。5.2字符串的常用方法3.判断字符串的前缀和后缀1.publicbooleanstartsWith(Stringprefix);//前缀2.publicbooleanendsWith(Stringsuffix);//后缀判断当前字符串的前缀或后缀是否是指定的字符子串,若是返回true5.2字符串的常用方法4.字符串中单个字符的查找(1/2)1.publicintindexOf(intch);查找字符ch在当前字符串中第一次出现的位置,即从头向后查找,并返回字符ch出现的位置。如果找不到则返回-12.publicintindexOf(intch,intfromIndex);查找字符ch时,在当前字符串中自fromIndex位字符之后向后查找,并返回该字符首次出现的位置。5.2字符串的常用方法4.字符串中单个字符的查找(2/2)1.publicintlastIndexOf(intch);2.publicintlastIndexOf(intch,intfromIndex);以上两个方法从字符串的结尾向字符串的开始部分查找指定字符3.publiccharcharAt(intindex)获取当前字符串中第index个字符并返回这个字符5.2字符串的常用方法5.字符串中子串的查找1.publicintindexOf(Stringstr);2.publicintindexOf(Stringstr,intfromIndex);3.publicintlastIndexOf(Stringstr);4.publicintlastIndexOf(Stringstr,intfromIndex);5.2字符串的常用方法6.连接两个字符串publicStringconcat(Stringstr);将参数字符串连接在当前字符串的尾部,并返回这个连接而成的长字符串,但是当前字符串本身并不改变。5.2字符串的常用方法7.获取子串publicStringsubstring(intbeginIndex)获取一个当前字符串的子串,该子串是从当前字符串的beginIndex处截取到字符串的未尾处所得到的字符串。publicStringsubstring(intbeginIndex,intendIndex)获取一个当前字符串的子串,该子串是从当前字符串的beginIndex处截取到endIndex,但不包括endIndex。5.2字符串的常用方法8.去空格publicStringtrim()去掉字符串的前后空格例子5.4(上机测试结果)5.3字符串与基本数据的相互转化1.将String对象转化为int类型publicstaticintparseInt(Strings);2.利用java.lang包中的Byte、Short、Integer、Long、Float、Double类调相应的类方法:publicstaticbyteparseByte(Strings)throwsNumberFormatExceptionpublicstaticshortparseShort(Strings)throwsNumberFormatExceptionpublicstaticshortparseInt(Strings)throwsNumberFormatExceptionpublicstaticlongparseLong(Strings)throwsNumberFormatExceptionpublicstaticfloatparseFloat(Strings)throwsNumberFormatExceptionpublicstaticdoubleparseDouble(Strings)throwNumberFormatException将“数字”的字符串转化为相应的基本类型。5.3字符串与基本数据的相互转化3.基本类型转化为String类例子:例子5.5求若干个数的平均数的例子,若干个数从键盘输入。程序除了输出平均数外,还输出整数123456的二进制和十六进制的串表示。publicclassExample5_5{publicstaticvoidmain(Stringargs[]){doublen,sum=0,item=0;booleancomputable=true;for(inti=0;iargs.length;i++){try{item=Double.parseDouble(args[i]);sum=sum+item;}catch(NumberFormatExceptione){System.out.println(您键入了非数字字符:+e);computable=false;}}if(computable){n=sum/args.length;System.out.println(平均数:+n);}intnumber=123456;StringbinaryString=Long.toBinaryString(number);//用到Long类中的各种进制转化方法System.out.println(number+的二进制表示:+binaryString);System.out.println(number+的十六进制表示:+Long.toString(number,16));Stringstr=1110110;intp=0,m=0;for(inti=str.length()-1;i=0;i--){charc=str.charAt(i);//返回指定索引处的char值。inta=Integer.parseInt(“”+c);p=p+(int)(a*Math.pow(2,m));//返回第一个参数的第二个参数次幂的值m++;}System.out.println(str+的十进制表示:+p);}}例子5.5运行结果5.4对象的字符串表示在子类的讲述中我们讲过,所有的类都默认是java.lang包中Object类的子类或间接子类。Object类有一个public方法toString(),一个对象通过调用该方法可以获得该对象的字符串表示例子5.65.5StringTokenizer类当我们分析一个字符串并将字符串分解成可被独立使用的单词时,可以使用java.util包中的StringTokenizer类,该类有两个常用的构造方法:StringTokenizer(Strings)为字符串s构造一个分析器。使用默认的分隔符集合,即空格符(若干个空格被看做一个空格)、换行符、回车符、Tab符、进纸符(\f)。StringTokenizer(Strings,Stringdelim)为字符串s构造一个分析器。参数dilim中的字符被作为分隔符。5.5StringTokenizer类我们把一个StringTokenizer对象称作一个字符串分析器。一个分析器可以使用nextToken()方法逐个获取字符串中的语言符号(单词),每当调用nextToken()时,都将在字符串中获得下一个语言符号,每当获取到一个语言符号,字符串分析器中的负责计数的变量的值就自动减一,该计数变量的初始值等于字符串中的单词数目使用while循环获取语言符号,为了控制循环用该的hasMoreTokens()方法。例子5.75.6字符串与字符、字节数组publicvoidgetChars(intstart,intend,charc[],intoffset)字符串调用getChars方法将当前字符串中的一部

1 / 42
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功