当前位置:文档之家› Java常用类库介绍

Java常用类库介绍

教学内容第七讲Java常用类库介绍7.1 Java类库的结构类库就是Java API(Application Programming Interface,应用程序接口),是系统提供的已实现的标准类的集合。

在程序设计中,合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、绘图、网络应用、数学计算等多方面的工作,而且可以大大提高编程效率,使程序简练、易懂。

Java类库中的类和接口大多封装在特定的包里,每个包具有自己的功能。

表7.1列出了Java中一些常用的包及其简要的功能。

其中,包名后面带“. *”的表示其中包括一些相关的包。

有关类的介绍和使用方法,Java中提供了极其完善的技术文档。

我们只需了解技术文档的格式就能方便地查阅文档。

表7.1Java提供的部分常用包注:在使用Java时,除了ng外,其他的包都需要import语句引入之后才能使用。

7.2 ng包中的常用类ng是Java语言最广泛使用的包。

它所包括的类是其他包的基础,由系统自动引入,程序中不必用import语句就可以使用其中的任何一个类。

ng中所包含的类和接口对所有实际的Java程序都是必要的。

下面我们将分别介绍几个常用的类。

7.2.1 String类和StringBuffer类许多语言中,字符串是语言固有的基本数据类型。

但在Java语言中字符串通过String类和StringBuffer类来处理。

1.String类Java语言中的字符串属于String类。

虽然有其它方法表示字符串(如字符数组),但Java使用String 类作为字符串的标准格式。

Java编译器把字符串转换成String对象。

String对象一旦被创建了,就不能被改变。

如果需要进行大量的字符串操作,应该使用StringBuffer类或者字符数组,最终结果可以被转换成String格式。

(1)创建字符串创建字符串的方法有多种方式,通常我们用String类的构造器来建立字符串。

表6.2列出了String 类的构造器及其简要说明。

表7.2 String类构造器概要【例7.1】使用多种方法创建一个字符串并输出字符串内容。

public class StrOutput {public static void main(Sring[] args) {//将字符串常量作为String对象对待,实际上是将一个String对象赋值给另一个String s1 = "Hello,java!";//声明一个字符串,然后为其赋值String s2;s2 = "Hello,java!";//使用String类的构造器中的一个。

创建一个空字符串,然后赋值给它String s3 = new String( );S3 = "Hello,java!";//将字符串直接传递给String类构造器来创建新的字符串String s4 = new String("Hello,java!");//使用String类的构造器中的一个。

//通过创建字符数组传递给String类构造器来创建新的字符串Char c1[ ] = { ' H', ' i', ' , ' , 'j', 'a', 'v', 'a'};String s5 = newString(c1 );//将字符数组子集传递给String类构造器来创建新的字符串String s6 = new String(c1,0,2 );System.out.println(s1);System.out.println(s2);System.out.println(s3);System.out.println(s4);System.out.println(s5);System.out.println(s6);}}运行结果:C:\>java StrOutputHello,java!Hello,java!Hello,java!Hello,java!Hi,javaHi(2)字符串的操作Java语言提供了多种处理字符串的方法。

表6.3列出了String类常用的方法。

表7.3 String类的常用方法下面结合常用的方法,介绍几种典型的字符串操作。

①字符串的比较Java语言提供了四种字符串的比较方法,这些方法有些类似于操作符。

例如,可以使用equals、equalsIgnoreCase、regionMatches和compareTo方法来实现对字符串的比较。

调用形式如下:s1.equals(s2) ----- 如果s1等于s2,返回true,否则为false。

s1. equalsIgnoreCase (s2) ----- 如果s1等于s2,返回true,否则为false,忽略大小写。

s1. regionMatches(boolean ignoreCase,int toffset,s2,int ooffset,int len ) ----- 如果s1和s2的子串相等,返回true,否则为false。

其中,ignoreCase为忽略大小写设置,true为忽略大小写,false为不忽略大小写,toffset确定s1的起始偏移量,ooffset确定s2的起始偏移量,len确定子串的长度。

s1. compareTo (s2) -----如果s1<s2,则返回小于0的值;如果s1=s2,则返回0;如果s1>s2,则返回大于0的值【例7.2】比较字符串。

public class StrCompare {public static void main(Sring[] args) {String s1="aaaa";String s2="aaaa";String s3="AAAA";String s4="bcd";if (s1.equals(s2)) {System.out.println("s1==s2");}else {System.out.println("s1!=s2");}if (s1.equalsIgnoreCase(s3)) {System.out.println(" s1= =s3 when ignoring case");}else {System.out.println(" s1!=s3 when ignoring case");}if (s1.regionMatches(true,0,s3,1,3)) {System.out.println(" s1= =s3 when ignoring case");}else {System.out.println(" s1!=s3 when ignoring case");}if (s1.regionMatches(false,0,s3,1,3)) {System.out.println(" s1= =s3 when not ignoring case"); }else {System.out.println("s1!=s3 when not ignoring case"); }if (pareTo(s4)<0) {System.out.println(" s1<s4");}else if (pareTo(s4)= =0){System.out.println("s1= =s4");}else{System.out.println("s1>s4");}}}运行结果:C:\>java StrCompares1= =s2s1= =s3 when ignoring cases1= =s3 when ignoring cases1!= =s3 when not ignoring cases1<s4②求字符串长度使用String类的length方法,调用形式如下:s1.length( ) ----- 返回s1的长度,其类型为int。

【例7.3】求指定字符串的长度。

public class StrLength{public static void main(Sring[] args){String s1="Hello,Java!";int i=s1.length();System.out.println("字符串s1长度为"+i);}}运行结果:C:\>java StrLength字符串s1长度为11③连接字符串可以使用两种方法将字符串连接起来:+操作符、用String类的concat方法。

Concat方法的调用形式如下:s1.concat(s2) ----- 将两个字符串连接起来。

s1.concat(“字符串常量”) ----- 将字符串和字符串常量连接起来。

【例7.4】使用+和concat方法创建同一个字符串。

public class StrConcat{public static void main(Sring[] args){String s1="Hello";String s2=s1+",";String s3=s2.concat(" Java");!String s4=new String(" ! ");String s5=s4.concat(s4);System.out.println(" 连接而成的字符串是"+s5);}}运行结果:C:\>java StrConcat连接而成的字符串是Hello,Java!④拷贝字符串可以有四种方法将一个字符串复制到另一个字符数组或String对象中:copyValueOf、getChars、toCharArray、substring。

调用形式:s1.copyValueOf(data) ----- 将数组data中的内容全部拷贝到字符串中。

s1.copyValueOf(data,int offset,int count) ----- 将数组data中以offset起始,长度为count的内容拷贝到字符串中。

s1.getChars(int strbegin,int strend, data,int offset) ----- 将s1的全部或部分内容拷贝到数组data中。

相关主题