资源预览内容
第1页 / 共43页
第2页 / 共43页
第3页 / 共43页
第4页 / 共43页
第5页 / 共43页
第6页 / 共43页
第7页 / 共43页
第8页 / 共43页
第9页 / 共43页
第10页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第7章 字符串,本章学习目标,掌握字符串的定义。 掌握String类型字符串的操作方法。 掌握StringBuffer类型字符串的操作方法。 基本掌握StringTokenizer字符分析器的操作方法。,字符串,字符串的定义 字符串的创建 String类型字符串的操作 StringBuffer类型字符串的操作,字符分析器 main()方法,字符串的定义,字符串可以看成是由两个或两个以上字符组成的数组。 Java语言中使用String和StringBuffer两个类来存储和操作字符串,因此Java语言中字符串是一个对象。,字符串的定义,Java中的字符串可分为字符串常量和字符串变量两种类型。 字符串常量:由一系列字符用双引号括起来表示 。 字符串变量:利用String或StringBuffer类型的变量来代表这些字符串常量。 例如: String str; str=“Hello!“; str表示一个字符串变量,str的值为“Hello! “。,字符串的创建,创建String类型的字符串 创建StringBuffer类型的字符串 String类型的构造函数(表),创建String类型的字符串,由字符串常量直接赋值给字符串变量 。 如:String str“Hello! “ 由一个字符串来创建另一个字符串。例如: String str1=new String(“Hello“); String str2=new String(str); String str3=new String();,创建String类型的字符串,由字符数组来创建字符串。例如: char num =H,i; String str=new String(num); 由字节型数组来创建字符串。例如: byte bytes =25,26,27; String str=new String(bytes); 由StringBuffer对象创建String类型字符串。 如: String str= new String(s);,创建StringBuffer类型的字符串,由String对象来构造StringBuffer类型的字符串,方法如下: StringBuffer( String s ); 上述方法分配了s大小的空间和16个字符的缓冲区。 如:StringBuffer strnew StringBuffer(Hello!);,创建StringBuffer类型的字符串,构造StringBuffer类型的空字符串,方法如下: StringBuffer( ); 上述方法生成具有16个字符缓冲区的空字符串。 StringBuffer( int len ); 上述方法生成具有len个字符缓冲区的空字符串。例如: StringBuffer strnew StringBuffer(); StringBuffer strnew StringBuffer(12);,String类型的构造函数(表),String类型字符串的操作,求字符串的长度 字符串的连接 字符串的大小写转换 求字符串的子集 字符串的比较,字符串的检索 字符串类型与其他类型的转化 字符串的替换 字符串的其他操作,求字符串的长度,String类中使用length()方法来获得字符串的长度,方法定义为: public int length(); 例如: String s=“You are great!“; String t=“你很优秀!“; int len_s,len_t; len_s=s.length(); len_t=t.length();,字符串的连接,两个字符串使用+进行连接。例如: String str1=“I“+“like“+“swimmming“; String str2; str2=str1+“but Jane like running.“; 使用contat()方法进行连接 。例如: String contat(); String str1=“I“+“like“+“swimmming“; String s=str1. contat(but Jane like running.);,字符串的大小写转换,把字符串中所有的字符变成小写 String toLowerCase(); 把字符串中所有的字符变成大写 String toUpperCase(); 例如: String date“Today is Sunday.“; String date_lower,date_upper; date_lower=date. toLowerCase(); date_upper=date. toUpperCase();,求字符串的子集,获得给定字符串中的一个字符 String CharAt(int index); 如:String date“Today is Sunday.“; String str2=data.CharAt(s.length()-1) 获得给定字符串的子串 String substring(int begin_index); String substring(int begin_index,int end_index); 如:String date“Today is Sunday.“; String str2=date. substring(6);,字符串的比较,equals()和equalsIgnoreCase()方法 boolean equals(String s); boolean equalsIgnoreCase(String s); 例如: String date1“SunDay “,date2= “ Sunday“; System.out.println(data1. equals (data2); System.out.println(data1. equalsIgnoreCase (data2); Java语言中比较两个字符串是否完全相同,不能使用=符号,因为即使两个字符串完全相同的情况下也会返回false。 请看例子,字符串的比较,compareTo()和compareToIgnoreCase()方法 int compareTo(String s); int compareToIgnoreCase(String s); 例如: String s1=“me” ; s1. compareTo(“her”)大于0 s1. compareTo(“you”)小于0 s1. compareTo(“me“)等于0,字符串的比较,startsWith()和endsWith()方法 boolean startWith(String s) boolean startWith(String s,int index) boolean endsWith(String s) 例如:String s=“abcdgde “; boolean b1,b2,b3; b1=s. startsWith(“abc“); b2= s.startsWith(s,2); b3= s.endsWith(“abc“);,字符串的比较,regionMatches()方法 boolean regionMatches(int index,String s, int begin,int end) boolean regionMatches(boolean b,int index, String s,int begin,int end) 请看例子,字符串的检索,Java中的String类提供了以下两种方法来查找一个字符串在另一个字符串中的位置。 indexOf()方法是从字符串的第一个字符开始检索。 lastIndexOf()方法是从字符串的最后一个字符开始检索。 方法定义为: int indexOf(String s) int indexOf(String s,int begin_index) int lastIndexOf(String s) int lastIndexOf(String s,int begin_index) 请看例子,字符串类型与其他类型的转化,数值类型转化为字符串类型 方法定义为: String static valueOf(boolean t) String static valueOf(int t) String static valueOf(float t) String static valueOf(double t) String static valueOf(char t) String static valueOf(byte t),字符串类型与其他类型的转化,字符串类型转化为数值类型 方法定义为: public int paresInt(String s) public float paresFloat(String s) public double paresDouble(s) public short paresShort(String s) public long paresLong(String) public byte paresByte(String s),字符串类型与其他类型的转化,字符串向字符数组的转化 char toCharArray() public void getChars(int begin,int end, char c ,int index) 用字符数组数组来构造一个字符串 String(char ,int offset,int length) 例如: char c = “今天星期六“.getChars(); String s=new String(c,0,4); System.out.println(s);,字符串类型与其他类型的转化,字符串向字节数组的转化 byte getBytes() 用字节数组来构造一个字符串 String(byte,int offset,int length) 例如: byte b = “今天星期六“.getBytes(); String s=new String(b,4,6); System.out.println(s);,字符串的替换,字符串中字符的替换 String replace(char oldChar,char newChar) 如:String s=“bag“; s=s.replace(a,e); 字符串中子串的替换 String replaceAll(String oldstring,String newstring) 如: String s=“more and more “; s=s.replaceAll (“more “, “less“);,字符串的其他操作,字符串前后部分空格的删除 String trim(); 用来把字符串前后部分的空格删除,返回删除空格后的字符串。 例如: String str=“ It is Sunday “; String s=str.trim();,字符串的其他操作,对象的字符串表示 String toString() toString()是Object类一个public方法,用来把任何对象表示成String类型的字符串。 请看例子,StringBuffer类型字符串的操作,字符串的追加 字符串的插入 字符串的删除 字符串的修改,求字符串的长度和容量 字符串的替换 字符串的反转 注意,字符串的追加,StringBuffer append(数值类型 t); 参数类型包括boolean、int、char、float、double、long类型。 StringBuffer append(String s) StringBuffer append(char ) StringBuffer append(char ,int begin,int end) StringBuffer app
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号