基础类和工具类课件.ppt

上传人(卖家):三亚风情 文档编号:3339950 上传时间:2022-08-22 格式:PPT 页数:46 大小:511.51KB
下载 相关 举报
基础类和工具类课件.ppt_第1页
第1页 / 共46页
基础类和工具类课件.ppt_第2页
第2页 / 共46页
基础类和工具类课件.ppt_第3页
第3页 / 共46页
基础类和工具类课件.ppt_第4页
第4页 / 共46页
基础类和工具类课件.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、面向对象编程面向对象编程14.2.2 对象初始化对象初始化-静态调用静态调用public class ObjectCreation TestClass testClass=new TestClass(fieldValue);static TestClass testClass2=new TestClass(staticValue);static testClass2.test();public ObjectCreation()System.out.println(ObjectCreation init);public ObjectCreation(String name)System.out.

2、println(ObjectCreation +name+init);面向对象编程面向对象编程2public static void main(String args)ObjectCreation objectCreation=new ObjectCreation(object1);ObjectCreation objectCreation2=new ObjectCreation(object2);class TestClass public TestClass(String name)System.out.println(TestClass +name+init);void test()Sy

3、stem.out.println(makeInner()invoked);面向对象编程面向对象编程32.基础类和工具类基础类和工具类1.面向对象编程面向对象编程1.5主要内容主要内容1.Java类库类库2.2.语言基础类语言基础类3.3.向量类向量类4.4.工具类工具类1.面向对象编程面向对象编程1.6Java类库类库1.Java的类库是系统提供的已实现的标准类的集合,的类库是系统提供的已实现的标准类的集合,是是Java编程的编程的API(Application Program Interface),),它可以帮助开发者方便、快捷地开它可以帮助开发者方便、快捷地开发发Java程序。程序。2.这

4、些系统定义好的类根据实现的功能不同,可以这些系统定义好的类根据实现的功能不同,可以划分成不同的集合,每个集合是一个包,合称为划分成不同的集合,每个集合是一个包,合称为类库。类库。3.Java的类库大部分是由它的发明者的类库大部分是由它的发明者SUN公司公司 提供的,这些类库称为基础类库(提供的,这些类库称为基础类库(JFC)。)。4.API 应用程序编程接口应用程序编程接口面向过程语言面向过程语言 函数库(子程序包)函数库(子程序包)面向对象语言面向对象语言 类库类库1.面向对象编程面向对象编程1.7Java类库类库1.类库的结构类库的结构java.lang 语言基础类库(语言基础类库(Sys

5、tem、Math、Thread、基本数据类型类)基本数据类型类)java.util Java的工具类库的工具类库(向量、栈、日期向量、栈、日期)java.io Java的标准输入输出类库的标准输入输出类库java.applet 用于实现用于实现Java Applet小程序的类库小程序的类库java.awt 用于构建图形用户界面的类库用于构建图形用户界面的类库java.awt.event 界面用户交互控制和事件响应类界面用户交互控制和事件响应类 库库 Java的用于实现网络功能的类库的用于实现网络功能的类库2.使用使用JDK Document查看类库查看类库1.面向对象编程面向对象编程1.8语言

6、基础类库语言基础类库-Object类类1.Java程序中所有类的直接或间接父类,也是类程序中所有类的直接或间接父类,也是类库中所有类的的父类,所有的其他类都是从库中所有类的的父类,所有的其他类都是从Object类派生。类派生。2.构造方法:构造方法:Object()3.一般方法:一般方法:Object clone()生成当前对象的一个拷贝。生成当前对象的一个拷贝。boolean equals(Object obj)比较两个对象是否比较两个对象是否 相同。相同。Class getClass()获取当前对象所属的类信息。获取当前对象所属的类信息。String toString()用来返回当前对象本

7、身的有关用来返回当前对象本身的有关 信息。信息。1.面向对象编程面向对象编程1.9public class BasicObjectDemo public static void main(String args)A a1=new A();A a2=new A();A a3=a1;B b=new B();System.out.println(a1.equals(a2);System.out.println(a3.equals(a1);System.out.println(a1.hashCode();System.out.println(a1.toString();class A class B

8、1.面向对象编程面向对象编程1.10实例实例public class PhoneNumber private String region;private String number;public String toString()return book.ch6.PhoneNumber+region=+region+,number=+number+;1.面向对象编程面向对象编程1.11System类类1.属性属性public static InputStream in public static PrintStream outpublic static PrintStream err 2.获取系

9、统信息、完成系统操作的方法获取系统信息、完成系统操作的方法public static long currentTimeMillis();获取自获取自1970年年1月月1日零时至当前系统时刻的微秒数日零时至当前系统时刻的微秒数 972370687290public static void exit(int status);强制强制Java虚拟机退出运行状态,并把状态信息虚拟机退出运行状态,并把状态信息status 返回给运行虚拟机的操作系统。返回给运行虚拟机的操作系统。System.exit(0);public static void gc();强制调用强制调用Java虚拟机的垃圾回收功能。虚拟

10、机的垃圾回收功能。1.面向对象编程面向对象编程1.12语言基础类库:语言基础类库:System类类 System是一个功能强大的类,它提供了标准是一个功能强大的类,它提供了标准输入输出、运行时的系统信息等工具输入输出、运行时的系统信息等工具1.系统功能类系统功能类获取系统标准输入获取系统标准输入/输出输出System.in,System.out,System.err获取系统信息获取系统信息System.currentTimeMillis()执行系统操作执行系统操作System.exit(0);System.gc();1.面向对象编程面向对象编程1.13语言基础类库:数据类型类语言基础类库:数据

11、类型类1.基本数据类型基本数据类型 vs.数据类型类数据类型类boolean vs Boolean,char vs Character等等2.数据类型类数据类型类规定了数据类型的最大值、最小值规定了数据类型的最大值、最小值构造函数:如构造函数:如new Integer(10);完成不同数据类型间转换,注意不同的数据完成不同数据类型间转换,注意不同的数据类使用的方法会有不同。类使用的方法会有不同。Double.toString(0.08)、Integer.parseInt(“123”)、Double.ValueOf(“0.08”).intValue()等,见等,见JDK Doc1.面向对象编程面

12、向对象编程1.14语言基础类库:语言基础类库:Math类类1.Math类用来完成常用的数学运算类用来完成常用的数学运算数学常量:数学常量:E,PI数学运算数学运算Math.abs(-8.09);Math.exp(5.7);Math.random();Math.sqrt(9.08);Math.pow(2,3);/乘方乘方Math.round(99.6);均为均为static,使用时无需创建实例使用时无需创建实例 Math.method(variable);1.面向对象编程面向对象编程1.15数学运算的数学运算的Math类类1.属性属性public final static double E;/数

13、学常量数学常量epublic final static double PI;/圆周率常量圆周率常量2.方法(均为静态方法)方法(均为静态方法)public static int abs(int i);public static double sin(double a);public static double log(double a);public static double max(double a,double b);public static double pow(double a,double b);public static double random();/产生产生01之间伪之间

14、伪 随机数随机数1.面向对象编程面向对象编程1.16数学运算的数学运算的Math类类public static double exp(double a);public static int round(float a);public static double sqrt(double a);例:例:System.out.println(Math.E);2.718281828.System.out.println(Math.PI);3.14159265System.out.println(Math.pow(2,3);8.0System.out.println(Math.round(99.6);1

15、00System.out.println(Math.abs(-8.09);8.091.面向对象编程面向对象编程1.17public class StringDemo public static void main(String args)String s;s=String test;s=new String(String test);int stringLength=s.length();System.out.println(stringLength=+stringLength);boolean startTest=s.startsWith(Str);boolean endTest=s.end

16、sWith(est);System.out.println(startTest=+startTest);System.out.println(endTest=+endTest);int blankIndex=s.indexOf();System.out.println(blankIndex=+blankIndex);字符串相关类字符串相关类String1.面向对象编程面向对象编程1.18int subStringIndex=s.indexOf(est);System.out.println(subStringIndex=+subStringIndex);int lastIndex=s.last

17、IndexOf(s);System.out.println(lastIndex=+lastIndex);String s2=String test2;int compare=pareTo(s);System.out.println(compare=+compare);boolean equalTest=s2.equals(s);System.out.println(equalTest=+equalTest);char singleChar=s.charAt(3);System.out.println(singleChar=+singleChar);1.面向对象编程面向对象编程1.19Strin

18、g subString=s.substring(3);System.out.println(subString=+subString);String trimString=s.trim();System.out.println(trimString=+trimString+);String upperCase=s.toUpperCase();System.out.println(upperCase=+upperCase);String lowerCase=s.toLowerCase();System.out.println(lowerCase=+lowerCase);1.面向对象编程面向对象编

19、程1.20字符串相关类字符串相关类StringBuffer1.public class StringBufferDemo 2.public static void main(String args)3.StringBuffer buffer=new StringBuffer();4.buffer.append(S);5.buffer.append(tringBuffer);6.System.out.println(buffer.charAt(1);7.System.out.println(buffer.capacity();8.System.out.println(buffer.indexOf

20、(tring);9.System.out.println(buffer=+buffer.toString();10.11.12.揭秘揭秘StringBuffer的的capacity.mht1.面向对象编程面向对象编程1.216.3 集合集合1.Collection-Set:不允许重复元素存在;无保存顺序不允许重复元素存在;无保存顺序-List:允许重复元素存在,保存顺序:允许重复元素存在,保存顺序-Iterator接口:可以用来遍历集合所有数接口:可以用来遍历集合所有数据据-Map接口:表示关键字接口:表示关键字-值的集合值的集合1.面向对象编程面向对象编程1.226.3 集合集合-Set1.

21、public class SetDemo 2.public static void main(String args)3.Set set=new HashSet();4.set.add(1);5.set.add(2);6.set.add(3);7.set.add(4);8.set.add(new Integer(1);9.set.add(new Double(7.0);10.set.add(3);11.System.out.println(set=+set);12.13.1.面向对象编程面向对象编程1.236.3 集合集合-List1.public class ListDemo 2.publi

22、c static void main(String args)3.List list=new ArrayList();4.list.add(1);5.list.add(2);6.list.add(3);7.list.add(4);8.list.add(5);9.list.add(new Double(7.0);10.list.add(4);11.System.out.println(list=+list);12.13.1.面向对象编程面向对象编程1.24Iterator接口接口public class IteratorDemo public static void main(String ar

23、gs)Set set=new HashSet();set.add(1);set.add(2);set.add(3);set.add(4);set.add(new Integer(1);set.add(new Double(7.0);Iterator iterator=set.iterator();while(iterator.hasNext()System.out.println(iterator.next();iterator.remove();System.out.println(set=+set);1.面向对象编程面向对象编程1.25ListIterator接口接口public clas

24、s ListIteratorDemo public static void main(String args)List list=new ArrayList();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);ListIterator iterator=list.listIterator();while(iterator.hasNext()System.out.println(iterator.next();while(iterator.hasPrevious()System.out.println(iterator.pr

25、evious();1.面向对象编程面向对象编程1.26Map接口接口1.Map接口:表示关键字接口:表示关键字-值的集合值的集合1.面向对象编程面向对象编程1.27Map接口接口public class MapDemo public static void main(String args)Map map=new HashMap();map.put(1,value1);map.put(2,value2);map.put(3,value3);map.put(4,value4);System.out.println(map.get(1);1.面向对象编程面向对象编程1.28Set keySet=m

26、ap.keySet();for(Iterator iterator=keySet.iterator();iterator.hasNext();)System.out.println(iterator.next();Collection values=map.values();for(Iterator iterator=values.iterator();iterator.hasNext();)System.out.println(iterator.next();Set entrySet=map.entrySet();for(Iterator iterator=entrySet.iterator

27、();iterator.hasNext();)System.out.println(iterator.next();1.面向对象编程面向对象编程1.29运行结果运行结果1.面向对象编程面向对象编程1.30向量类向量类-Vector1.java.util.Vector2.Vector是一组对象的集合,是一组对象的集合,Vector可以追加对象元可以追加对象元 素的数量,方便地修改和维护序列中的对象。素的数量,方便地修改和维护序列中的对象。1.适合于如下的情况适合于如下的情况需要处理的对象数目不定需要处理的对象数目不定序列中元素都是对象,而不是基本数据类型的量序列中元素都是对象,而不是基本数据类型

28、的量需要做频繁的元素插入和删除需要做频繁的元素插入和删除需要定位序列中的对象或其他查找操作需要定位序列中的对象或其他查找操作 0 1 2 3 对象对象对象对象对象对象对象对象1.面向对象编程面向对象编程1.31创建向量类对象创建向量类对象1.创建向量类的对象创建向量类的对象Vector myVector=new Vector();创建空的向量对象(初始容量为创建空的向量对象(初始容量为10)2.优化存储管理优化存储管理Vector myVector=new Vector(100);创建空的向量对象(初始容量为创建空的向量对象(初始容量为100)Vector myVector=new Vecto

29、r(100,50);创建空的向量对象(初始容量为创建空的向量对象(初始容量为100,增量,增量 为为50)1.面向对象编程面向对象编程1.32向量元素操作向量元素操作1.追加元素追加元素 addElement(Object obj)1.插入元素插入元素 insertElement(Object obj,int index)1.修改向量中的元素修改向量中的元素 setElementAt(Object obj,int index)1.删除向量中的指定元素删除向量中的指定元素 removeElementAt(int index)Boolean removeElement(Object obj)rem

30、oveAllElements()1.面向对象编程面向对象编程1.33向量元素操作向量元素操作1.取出向量中的指定元素取出向量中的指定元素 Object get(int index)1.测试对象在向量中是否存在测试对象在向量中是否存在 boolean contains(Object obj)1.查找指定元素的位置查找指定元素的位置 int indexOf(Object obj)int indexOf(Object obj,int start_index)1.面向对象编程面向对象编程1.34向量元素操作向量元素操作1.返回指定位置的元素返回指定位置的元素 Object elementAt(int

31、index)由于返回的是由于返回的是Object类型的对象,在使用前要类型的对象,在使用前要 进行强制类型转换,将返回的对象引用转换成进行强制类型转换,将返回的对象引用转换成 Object类的某个具体子类的对象。类的某个具体子类的对象。String str=(String)MyVector.elementAt(0);1.返回一个包含向量中所有元素的对象数组返回一个包含向量中所有元素的对象数组 Object toArray()1.面向对象编程面向对象编程1.35获取向量信息获取向量信息1.清空向量清空向量(删除所有元素)删除所有元素)clear()1.测试向量是否为空测试向量是否为空 boole

32、an isEmpty()1.当前向量元素数量当前向量元素数量 int size()1.向量当前容量向量当前容量 int capacity()1.面向对象编程面向对象编程1.36例:例:CatsAndDogs.java public class CatsAndDogs public static void main(String args)Vector cats=new Vector();for(int i=0;i 7;i+)cats.addElement(new Cat(i);/Not a problem to add a dog to cats:cats.addElement(new Dog

33、(7);for(int i=0;i cats.size();i+)(Cat)cats.elementAt(i).print();/Dog is detected only at run-time/改为改为:if(cats.elementAt(i)instanceof Cat)/:缺点:缺点:Object的类型不确定;对象的类型不匹的类型不确定;对象的类型不匹配只能在运行期才能被检测出来配只能在运行期才能被检测出来1.面向对象编程面向对象编程1.37工具类库:日期工具类库:日期1.Calendar(表示日期和时间表示日期和时间)getInstance():得到表示当前时间的实例得到表示当前时间的

34、实例get(int):获取相应信息,如获取相应信息,如get(Calendar.YEAR)set(int,int):如如 set(Calendar.YEAR,1999)set(year,month,date):set用来设置信息用来设置信息Calendar.getTime():得到当前时间的得到当前时间的Date对象对象2.GregorianCalendar有不同的构造方法,用来创建实例。如:有不同的构造方法,用来创建实例。如:GregorianCalender(year,month,date,)1.面向对象编程面向对象编程1.38日期类日期类Date1.构造方法构造方法 Date()初始化时

35、间对象初始化时间对象1.方法方法 long getTime()获取自获取自1970.1.1零时至当零时至当 前系统时刻的微秒数前系统时刻的微秒数 1.其他若干方法其他若干方法 int getDate()获取系统当前日期获取系统当前日期1.面向对象编程面向对象编程1.39日期类日期类Calendar1.抽象类,在抽象类,在Date对象和一组整数域之间进行转换:对象和一组整数域之间进行转换:YEAR,MONTH,DAY,HOUR,Calendar c =Calendar.getInstance();int c.get(Calendar.YEAR)int c.get(Calendar.MONTH)(

36、1月为月为0)int c.get(Calendar.DATE)int c.get(Calendar.HOUR)int c.get(Calendar.MINUTE)int c.get(Calendar.SECOND)Date c.getTime()1.面向对象编程面向对象编程1.40日期类日期类Calendarc.set(Calendar.YEAR,2000)c.set(Calendar.MONTH,10)(11月月)c.set(Calendar.DATE,7)c.set(2000,10,7)c.set(2000,10,7,17,48,20)1.面向对象编程面向对象编程1.41例题例题-银行帐户

37、银行帐户 bankAccountm_accNumm_balancem_transRecordgetBalance()saveMoney(.)Transactionm_datem_amountm_typem_remaingetDays()transMeg()1.面向对象编程面向对象编程1.42工具类库:栈工具类库:栈1.java.util.Stack(常用的线性数据结构常用的线性数据结构)栈底:固定的一端栈底:固定的一端栈顶:数据元素进出的一端栈顶:数据元素进出的一端遵循:遵循:“后进先出后进先出”原则原则2.常用的堆栈操作常用的堆栈操作创建堆栈:创建堆栈:Stack()压栈操作:压栈操作:pu

38、sh(Object)弹栈操作:弹栈操作:pop()1.面向对象编程面向对象编程1.43堆栈堆栈Stack1.是是Vector的子类的子类2.构造方法构造方法 Stack()建立一个新的栈建立一个新的栈1.方法方法 boolean empty()测试栈是否空测试栈是否空 Object peek()查看栈顶元素查看栈顶元素 Object pop()弹栈(出栈)弹栈(出栈)Object push(Object item)压栈(进栈)压栈(进栈)int search(Object item)查找栈中元素,返回距栈查找栈中元素,返回距栈顶顶 位置(栈顶位置为位置(栈顶位置为1)栈底栈底栈顶栈顶弹栈弹栈压栈压栈1.面向对象编程面向对象编程1.44堆栈例堆栈例-表达式计算表达式计算#2*(3+5 8 16-4 122*(3+)5-4#操作数栈操作数栈 s1 s1 操作符栈操作符栈 s2s21.面向对象编程面向对象编程1.45堆栈例堆栈例-表达式计算表达式计算=)=/*-+#)(/*-+表达式表达式栈顶栈顶栈顶运算符栈顶运算符 表达式当前运算符表达式当前运算符1.面向对象编程面向对象编程1.46课后作业课后作业1.P144.第第4、6、8、10题题

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(基础类和工具类课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|