您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Java语言程序设计基础教程课件(第5章)
第5章JavaAPI理解JavaAPI的概念了解Object类熟悉String类和StringBuffer类基本数据类型的对象类Hashtable与Properties类System类与Runtime类Date与Calendar,DateFormat类Math与Random类5.1JavaAPI的概念Java的类库是Java语言提供的已经实现的标准类的集合,是Java编程的API(ApplicationProgramInterface)。这些类根据实现的功能不同,可以划分为不同的集合,每个集合组成一个包,称为类库。Java常用包的简单介绍如下:1)java.lang包:主要含有与语言相关的类。java.lang包由解释程序自动加载,不需要显示说明。Java语言包(java.lang)定义了Java中的大多数基本类。该包中包含了Object类,Object类是整个类层次结构的根结点,同时还定义了基本数据类型的类,如:String、Boolean、Byte、Short等。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()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。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));}}例5-1输出结果:a1.equals(a2)是truea1==a2是falsea1.equals(a3)是truea1==a3是falsea3.equals(a4)是truea3==a4是trueOne.equals(Two)是falseOne==Two是false赋值后,One.equals(Two)是true赋值后,One==Two是trueclassMao{Stringname;Stringcolor;Mao(Stringn,Stringc){name=n;color=c;}publicbooleanequals(Objectobj){Maom=(Mao)obj;returnthis.name==m.name&&this.color.equals(m.color);}}publicclassTestEqual{publicstaticvoidmain(String[]args){Integeri1=newInteger(1);Integeri2=newInteger(1);System.out.println(i1==i2);System.out.println(i1.equals(i2));Maom1=newMao(A,A);Maom2=newMao(A,A);System.out.println(m1==m2);System.out.println(m1.equals(m2));}}输出结果:falsetruefalsetrue2.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();System.out.println(对象One所属的类为:+b);}}输出结果:对象One所属的类为:classep5_2_a5.3String类和StringBuffer类String类和StringBuffer类主要用来处理字符串,这两个类提供了很多字符串的使用处理方法。String类是不可变类,一个String对象所包含的字符串内容永远不会被改变;而StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内容可以被添加或修改。String常量字符串,一旦赋值或实例化后就不可更改。StringBuffer可变字符串,如频繁的修改字符串值,可以使用StringBuffer。5.3.1String类java.lang包中的String类代表字符串。Java程序中的所有字符串字面值(如“abc”)都作为此类的实例来实现。字符串是常量,它们的值在创建之后不能改变。例如:Stringstr=abc;等效于:chardata[]={'a','b','c'};Stringstr=newString(data);1.String类常用构造方法:(1)publicString():初始化一个新创建的String对象,它表示一个空字符序列。(2)publicString(Stringoriginal):初始化一个新创建的String对象,表示一个与该参数original相同的字符序列;换句话说,新创建的字符串是该参数字符串的一个副本。(3)publicString(char[]value):分配一个新的String,它表示当前字符数组参数value中包含的字符序列。该字符数组的内容已被复制;后续对字符数组的修改不会影响新创建的字符串。(4)publicString(char[]value,intoffset,intcount):分配一个新的String,它包含来自该字符数组参数的一个子数组的字符。offset参数是子数组第一个字符的索引,count参数指定子数组的长度。该子数组的内容已被复制;后续对字符数组的修改不会影响新创建的字符串。(5)publicString(byte[]bytes):初始化一个新创建的String对象,方法是使用平台的默认字符集解码字节的指定数组,参数bytes表示要解码为字符的字节。(6)publicString(byte[]bytes,StringcharsetName):构造一个新的String,方法是使用指定的字符集解码指定的字节数组。新的String的长度是一个字符集函数,因此不能等于字节数组的长度。publicclassStringAPIDemo{publicstaticvoidmain(Stringargs[]){Stringstr=helloworld!!!!!#@;byteb[]=str.getBytes();//将字符串变为字节数组Stringstr1=newString(b);Stringstr2=newString(b,0,5);System.out.println(\n+str1);System.out.println(str2);}}输出结果:helloworld!!!!!#@hello2.String类常用方法(1)publiccharcharAt(intindex)返回字符串中的第index个字符publicintlength()返回字符串的长度publicintindexof(Stringstr)返回字符串中出现str的第一个位置publicintindexof(Stringstr,intfromIndex)返回字符串中从fromIndex开始出现str的第一个位置2.String类常用方法(1)publicbooleanequalsIgnoreCase(Stringanother)比较字符串与another是否一样(忽略大小写)publicStringreplace(charoldChar,charnewChar)在字符串中用newChar字符替换oldChar2.String类常用方法(2)publicbooleanstartsWith(Stringprefix)判断字符串是否以prefix字符串开头publicbooleanendsWith(Stringsuffix)判断字符串是否以suffix字符串结尾publicStringtoUpperCase()返回一个字符串为该字符串的大写形式publicStringtoLowerCase()返回一个字符串为该字符串的小写形式2.Str
本文标题:Java语言程序设计基础教程课件(第5章)
链接地址:https://www.777doc.com/doc-3685663 .html