第3章字符串和数组 本章介绍]ava处理字符串和数组。字符串由一系列字 符组成,这些字符可视为一个单元。本章将详细讨论 java. lang包中的 String类、 String Buffer类和 java util 包中 String Tokenizer类的功能。数组是相同类型的相 关数据项组成的数据结构,本章主要讨论一维数组和 多维数组的使用
第3章 字符串和数组 本章介绍Java处理字符串和数组。字符串由一系列字 符组成,这些字符可视为一个单元。本章将详细讨论 java.lang包中的String类、StringBuffer类和java.util 包中StringTokenizer类的功能。数组是相同类型的相 关数据项组成的数据结构,本章主要讨论一维数组和 多维数组的使用
3.1字符串 字符串是字符的序列,它是组织字符的基本数据结构, 从某种程度上来说有些类似于字符的数组。在Java中,字 符串被当作对象来处理。程序中需要用到的字符串可以分 为两大类,一类是创建之后不会再做修改和变动的字符电 常量;另一类是创建之后允许再做更改和变化的字符串变 量。对于字符串常量,由于程序中经常需要对它做比较, 搜索之类的操作,所以通常把它放在一个具有一定名称的 对象之中,由程序对该对象完成上述操作 java语言所提供的3种常用字符串类: String类(字符串类) String Buffer类(字符串缓冲器) String Tokenizer类(词法分析器类)
3.1字符串 字符串是字符的序列,它是组织字符的基本数据结构, 从某种程度上来说有些类似于字符的数组。在Java中,字 符串被当作对象来处理。程序中需要用到的字符串可以分 为两大类,一类是创建之后不会再做修改和变动的字符串 常量;另一类是创建之后允许再做更改和变化的字符串变 量。对于字符串常量,由于程序中经常需要对它做比较, 搜索之类的操作,所以通常把它放在一个具有一定名称的 对象之中,由程序对该对象完成上述操作。 java语言所提供的3种常用字符串类: ◼ String类(字符串类); ◼ StringBuffer类(字符串缓冲器); ◼ StringTokenizer类(词法分析器类)
31字符串— string:构造 ■构造一个字符串 字符串常量是用双引号括住的一串字符。如 welcome to java!”。要创建一个字符串,需要 用到下面的语法: String字符串变量名≡ new String(字符串常量) 另外java还提供了一个简单的创建字符串的简单 语法: String字符串变量名=字符串常量
3.1字符串——String:构造 ◼构造一个字符串 字符串常量是用双引号括住的一串字符。如 “welcome to java!”。要创建一个字符串,需要 用到下面的语法: String 字符串变量名 = new String (字符串常量); 另外java还提供了一个简单的创建字符串的简单 语法: String 字符串变量名 = 字符串常量
31字符串— String:基本方法 ■1. length public int length() 此方法返回字符串的字符个数,如: String s=abc System. out. printIn(slength () 则将显示字符个数为3
◼ 1. length public int length( ) 此方法返回字符串的字符个数,如: String s = "abc"; System.out.println( s.length( ) ); 则将显示字符个数为3。 3.1字符串——String:基本方法
31字符串— String:基本方法 ■2. charat public char charAt (int index 该方法返回字符串中 index位置上的字符,其中 index值的范 围是0~ length-1 ■3. getchars 如果要从字符串中提取一个以上的字符,则可以用此方法 public void getchars(int srcbegin, int end, char buf[, int dstbegin) 其中, srcbegin为要提取的第一个字符在源串中的位置, end为要提取的最后一个字符在源串中的位置,字符数组buf 存放目的字符串, dstbegin为提取的字符串在目的串中的起 始位置
◼ 2. charAt public char charAt (int index ) 该方法返回字符串中index位置上的字符,其中index值的范 围是0~length-1。 ◼ 3. getChars 如果要从字符串中提取一个以上的字符,则可以用此方法: public void getchars (int srcbegin,int end,char buf[],int dstbegin) 其中,srcbegin为要提取的第一个字符在源串中的位置, end为要提取的最后一个字符在源串中的位置,字符数组buf[] 存放目的字符串,dstbegin为提取的字符串在目的串中的起 始位置。 3.1字符串——String:基本方法
31字符串— string:基本方法 4.比较两个字符串是否相等的方法: public boolean equals( object anobject ■5比较两个字符串在不区分大小写时是否相等的方法: public boolean equals Ignore Case( Object anobject ■6.比较两个字符串大小的方法 public int compareTo( Object anobject 如: s1 compareTo(S2) 如果s1等于s2,方法返回0;如果按字典顺序s1小于s2,方法 返回一个小于0的值;如果按字典顺序s1大于s2,方法返回 个大于0的值。 7.检查在指定范围内是否有指定前缀内容的方法: public String startWith (String pre, int toffset)
◼ 4.比较两个字符串是否相等的方法: public boolean equals ( Object anObject) ◼ 5.比较两个字符串在不区分大小写时是否相等的方法: public boolean equals IgnoreCase( Object anObject) ◼ 6.比较两个字符串大小的方法: public int compareTo ( Object anObject) 如:s1.compareTo ( s2) 如果s1等于s2,方法返回0;如果按字典顺序s1小于s2,方法 返回一个小于0的值;如果按字典顺序s1大于s2,方法返回一 个大于0的值。 ◼ 7.检查在指定范围内是否有指定前缀内容的方法: public String startWith (String pre , int toffset) 3.1字符串——String:基本方法
31字符串— string:基本方法 ■8连接两个字符串的方法 public String concat( String str) 如:“Helo,“, concat(java). concat(Word!y) 返回” Hello, java World! ■9返回指定字符和指定字符串在字符串中第一次出现的位置值的方法 public String indexof (char ch) public String indexof( String str ■10.在字符串中使用指定字符进行替换的方法: public String replace( char oldchar, char new Char 11.取子串的方法: public String substring(int start, int end) 12把字符串中字符转换为大小写的方法: public string toUpperCase public String toLowerCase
◼ 8.连接两个字符串的方法: public String concat ( String str) 如:“Hello, “ . concat (“ java”) . concat (“ World!”) 返回” Hello, java World!” 。 ◼ 9.返回指定字符和指定字符串在字符串中第一次出现的位置值的方法: public String indexOf (char ch) public String indexOf ( String str ) ◼ 10.在字符串中使用指定字符进行替换的方法: public String replace ( char oldchar , char newChar ) ◼ 11.取子串的方法: public String substring (int start , int end) ◼ 12.把字符串中字符转换为大小写的方法: public String toUpperCase ( ) public String toLowerCase ( ) 3.1字符串——String:基本方法
31字符串— String:示例 public class String Demo2 i public static void main(String args[l) t String strobl="First String String strob2=Second String", String strob3= strObl System. out. println("Length of strObl: +strObl. length) System. out. println("Char at index 3 in strobl: +strObl. charAt(3)) if(strobl. equals(strob2)) System. out println (strObl== strOb2) else System. out. println(strobl!= strOb2 ) if(strObl.equals(strOb3)) System. out. printIn(strobl==strOb3") else System. out. printIn(strobl!=strob3");
public class StringDemo2 { public static void main(String args[]) { String strOb1 = "First String"; String strOb2 = "Second String"; String strOb3 = strOb1; System.out.println("Length of strOb1: " +strOb1.length()); System.out.println("Char at index 3 in strOb1: " +strOb1.charAt(3)); if(strOb1.equals(strOb2)) System.out.println("strOb1 = = strOb2"); else System.out.println("strOb1 != strOb2"); if(strOb1.equals (strOb3)) System.out.println("strOb1 == strOb3"); else System.out.println("strOb1 != strOb3"); } } 3.1字符串——String:示例
31字符串— string:示例 运行结果为: Length of strobl: 12 Char at index 3 in strobl: S strobl!= strOb2strOb1== strOb3
运行结果为: Length of strOb1: 12Char at index 3 in strOb1: s strOb1 != strOb2strOb1 == strOb3 3.1字符串——String:示例
31字符串— String Buffer:创建 String Buffer 建立一个空串的缓冲区,长度为16 String Buffer( int length) 建立一个长度为 length的空串缓冲区。 StringBuffer( String str) 初始化缓冲区内容为给定的字符串str,并提供另16 个字符的空间供再次分配。 类焦于 Vector
StringBuffer( ) 建立一个空串的缓冲区,长度为16。 StringBuffer ( int length) 建立一个长度为length的空串缓冲区。 StringBuffer ( String str) 初始化缓冲区内容为给定的字符串str,并提供另16 个字符的空间供再次分配。 类似于Vector 3.1字符串——StringBuffer:创建