您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Java语言程序设计基础教程(Java-API)ppt.ppt
第5章JavaAPI理解JavaAPI的概念了解Object类熟悉String类和StringBuffer类基本数据类型的对象类Hashtable与Properties类System类与Runtime类Date与Calendar,DateFormat类Math与Random类5.1JavaAPI的概念Java的类库是Java语言提供的已经实现的标准类的集合,是Java编程的API(ApplicationProgramInterface),它可以帮助开发者方便、快捷地开发Java程序。这些类根据实现的功能不同,可以划分为不同的集合,每个集合组成一个包,称为类库。Java类库中大部分都是由Sun公司提供的,这些类库称为基础类库。Java语言中提供了大量的类库共程序开发者来使用,了解类库的结构可以帮助开发者节省大量的编程时间,而且能够使编写的程序更简单更实用。Java中丰富的类库资源也是Java语言的一大特色,是Java程序设计的基础。Java常用包的简单介绍如下:1)java.lang包:主要含有与语言相关的类。java.lang包由解释程序自动加载,不需要显示说明。Java语言包(java.lang)定义了Java中的大多数基本类。该包中包含了Object类,Object类是整个类层次结构的根结点,同时还定义了基本数据类型的类,如:String、Boolean、Byter、Short等。这些类支持数字类型的转换和字符串的操作,在前面的章节中已经涉及了部分内容,本章主要介绍该包中的Math类和字符串类。2)java.io包:主要含有与输入/输出相关的类,这些类提供了对不同的输入和输出设备读写数据的支持,这些输入和输出设备包括键盘、显示器、打印机、磁盘文件等。Java常用包的简单介绍如下:3)java.util包:包括许多具有特定功能的类,有日期、向量、哈希表、堆栈等,其中Date类支持与时间有关的操作。4)java.swing包和java.awt包:提供了创建图形用户界面元素的类。通过这些元素,编程者可以控制所写的Applet或Application的外观界面。包中包含了窗口、对话框、菜单等类。Java常用包的简单介绍如下:5)java.net包:含有与网络操作相关的类,如TCPScokets、URL等工具。6)java.applet包:含有控制HTML文档格式、应用程序中的声音等资源的类,其中Applet类是用来创建包含于HTML的Applet必不可少的类。7)java.beans包:定义了应用程序编程接口(API),JavaBeans是Java应用程序环境的中性平台组件结构。5.2Object类Object类是Java程序中所有类的直接或间接父类,处在类的最高层次。一个类在声明时若不包含关键字extends,系统就会认为该类直接继承Object类。Object类包含了所有Java类的公共属性和方法,这些属性和方法在任何类中均可以直接使用。Object类有一个默认构造方法:publicObject(){}//方法体为空在构造子类实例时,都会先调用这个默认构造方法。Object类中主要的方法如表5-1所示。方法方法说明publicBooleanequals(Objectobj)比较两个类变量所指向的是否为同一个对象,是则返回truepublicfinalClassgetClass()获取当前对象所属类的信息,返回Class对象publicStringtoString()将调用toString()方法的对象转换成字符串protectedObjectclone()生成当前对象的一个备份,并返回这个副本publicinthashCode()返回该对象的哈希代码值publicfinalvoidnotify()唤醒在此对象监视器上等待的单个线程。publicfinalvoidnotifyAll()唤醒在此对象监视器上等待的所有线程。publicfinalvoidwait()导致当前的线程等待,直到其他线程调用此对象的notify()方法或notifyAll()方法。protectedvoidfinalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。Object类的equals方法比较两个对象是否相等,实现对象上差别可能性最大的相等关系;对于任何非空引用值x和y,当且仅当x和y引用同一个对象时,此方法才返回true。下面主要介绍equals方法和getClass方法的使用。1.equals方法的使用classep5_1_a{intx=1;}classep5_1{publicstaticvoidmain(Stringargs[]){ep5_1_aOne=newep5_1_a();ep5_1_aTwo=newep5_1_a();Stringa1,a2,a3=abc,a4=abc;a1=newString(abc);a2=newString(abc);System.out.println(a1.equals(a2)是+(a1.equals(a2)));System.out.println(a1==a2是+(a1==a2));System.out.println(a1.equals(a3)是+(a1.equals(a3)));System.out.println(a1==a3是+(a1==a3));System.out.println(a3.equals(a4)是+(a3.equals(a4)));System.out.println(a3==a4是+(a3==a4));System.out.println(One.equals(Two)是+(One.equals(Two)));System.out.println(One==Two是+(One==Two));One=Two;System.out.println(赋值后,One.equals(Two)是+(One.equals(Two)));System.out.println(赋值后,One==Two是+(One==Two));}}可以看出,对于字符串变量来说,使用“==”运算符和“equals()”方法来比较,其比较方式是不同的。“==”运算符用于比较两个变量本身的值,即两个对象在内存中的首地址;“equals()”方法比较的是两个字符串中所包含的内容是否相同。对于非字符串类型的变量来说,“==”运算符和“equals()”方法都用来比较其所指对象在堆内存中的首地址,即比较两个类类型的变量是否指向同一个对象。对于a3和a4这两个由字符串常量生成的变量,其所存放的内存地址是相同的。2.getClass方法的使用【例5_2】getClass方法返回调用该方法所属的类。classep5_2_a{protectedStringname;publicep5_2_a(Stringa){name=a;}}classep5_2{publicstaticvoidmain(Stringargs[]){ep5_2_aOne=newep5_2_a(abc);Classb=One.getClass();//用变量b调用getClass()方法System.out.println(对象One所属的类为:+b);}}5.3String类和StringBuffer类String类和StringBuffer类主要用来处理字符串,这两个类提供了很多字符串的使用处理方法。String类是不可变类,一个String对象所包含的字符串内容永远不会被改变;而StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内容可以被添加或修改。String常量字符串,一旦赋值或实例化后就不可更改。StringBuffer可变字符串构造器,如频繁的修改字符串值,可以使用StringBuffer。5.3.1String类java.lang包中的String类代表字符串。Java程序中的所有字符串字面值(如abc)都作为此类的实例来实现。字符串是常量,它们的值在创建之后不能改变。因为String对象是不可变的,所以可以共享它们。例如:Stringstr=abc;等效于:chardata[]={'a','b','c'};Stringstr=newString(data);1.String类常用构造方法:(1)publicString():初始化一个新创建的String对象,它表示一个空字符序列。(2)publicString(Stringoriginal):初始化一个新创建的String对象,表示一个与该参数original相同的字符序列;换句话说,新创建的字符串是该参数字符串的一个副本。由于String是不可变的,不必使用该构造方法,除非需要original的显式副本。(3)publicString(char[]value):分配一个新的String,它表示当前字符数组参数value中包含的字符序列。该字符数组的内容已被复制;后续对字符数组的修改不会影响新创建的字符串。(4)publicString(char[]value,intoffset,intcount):分配一个新的String,它包含来自该字符数组参数的一个子数组的字符。offset参数是子数组第一个字符的索引,count参数指定子数组的长度。该子数组的内容已被复制;后续对字符数组的修改不会影响新创建的字符串。(5)publicString(byte[]bytes):初始化一个新创建的String对象,方法是使用平台的默认字符集解码字节的指定数组,参数bytes表示要解码为字符的字节。新的String的长度是一个字符集函数,因此不能等于字节数组的长度。当给定字节在给定字符集中无效的情况下,该构造方法无指定的行为。当需要进一步控制解码过程时,应使用CharsetDecoder类。(6)publicString(byte[]bytes,StringcharsetName):构造一个新的String,方法是使用指定的字符集解码指定的字节数组。新的String的长度是一个字符集函数,因此不能等于字节数组的长度。当给定字节在给定字符集中无效的情况下,该构造方法无指定的行为。当需要进一步控制解码过程时,应使用CharsetDecoder类。2.String类常用方法:(1)publicintlength():返回此字符串的长度。(2)publiccharcharAt(intindex):返回指定索引处的char值。索引范围为从0到length()-1。序列的第一个char值在索引0处,第二个在索引1处,依此类推,这类似于数组索引。(3)publicvoidgetChars(intsrcBegin,intsrcEnd,char[]dst,intdstBegin):将字符从此字符串复制到目标字符数组。(4)publicbooleanequals(ObjectanObject):比较此字符串与指定的对象。当且仅当该参数不为null,并且是表示与此对象相同的字符序列的String对象时,结果才为true。【例5-3】一个说明字符串对象使用equals方法的例子。classep5_3{publicstaticvoidmain(Stringargs[]){Strings1,s2;s1=newString(wearestudents);s2=newString(wearestudents);System.out.println(s1.equals(s2));System.out.println(s1==s2);Strings3,s4;s3=howareyou;s4=howareyou;System.out.println(s3.equals(s4));Syst
本文标题:Java语言程序设计基础教程(Java-API)ppt.ppt
链接地址:https://www.777doc.com/doc-6320431 .html