[高等教育] 工具类及常用算法.ppt
《[高等教育] 工具类及常用算法.ppt》由会员分享,可在线阅读,更多相关《[高等教育] 工具类及常用算法.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java程序设计第7章 工具类及常用算法Java根底类库nJDK中提供的根底类库又称为JFC(java Foundation Class Library),其中包含很多包,每个包中都有假设干特定功能和相互关系的类和接口。一些经常使用的包为:包/默认加载的包包包包包包 Java语言根底类n这个包包含了运行程序不可少的类,包括根本数据类,根本数学类,字符串处理,异常处理等等。该包在程序时自动引入。n n标准的输入输出类库,包含程序与系统,用户以及其他程序做的数据交换使用的类,包括根本I/O,文件I/O等。完成与操作系统有关的nI/O操作需要用到该包。Java语言根底类包括一些实用工具,如Date类
2、,Vector类,Stack类等。使用它们可以方便编程。n 图形用户界面(GUI)类库。包括许多界面和资源,如Graphics类,Container类等等。可以利用该包编写标准化的应用程序界面。n 用来实现运行于浏览器中的Java Applet的工具类库,常用的类是。Java语言根底类n其他包n还有一些其他的包,如是实现远过程调用功能,可以在远程机器上创立对象,在本地机器上使用;包是实现JDBC的类库。利用这个包可以是程序访问不同类型的数据库。只要安装了对应的驱动程序,同一个程序就可以访问不同的数据库。n如果想要详细了解这些系统的类库,可以参考JDK的文档。Java语言根底类nObject类n
3、Object类是所有类的直接或间接父类,也是类库当中所有类的父类,可以和任意类型的对象匹配。所以可以用它作为形参的类型,那么不管何种类型的实际参数都可以与这个形参匹配,从而扩大了方法得适用范围。n常用得方法:nprotected Object clone();/生成当前对象得备份npublic boolean equals(Object obj);/比较两个对象npublic String toString();/返回当前对象得相关信息n Java语言根底类n equals方法n该方法用来比较两个对象是否相同,相同返回true,否那么返回false。n如果一个类没有覆盖equals方法,那么这
4、时候的相等是指两个引用相等,也就是说他们引用的是同一个对象。Java语言根底类n equals方法n运算符n关系运算符生成的是一个“布尔结果。它评价的是运算对n象值之间的关系。运算符适用于所有对象,但它的含n义通常会使人找不到北。见例子n一般人都会认为输出结果肯定先是true,再是false,因为n两个Integer对象都是相同的。但尽管对象的内容相同,n句柄却是不同的,而=比较的正好就是对象句柄。所以n输出结果实际上先是false,再是true。Java语言根底类n equals方法n假设想比照两个对象的实际内容是否相同,又该如何操作呢?此时,必须使用所有对象都适用的特殊方法equals()
5、。例子n正如我们预计的那样,此时得到的结果是true。n但事情并未到此结束!假设您创立了自己的类,就象下面n这样(举例)n此时的结果又变回了false!这是由于equals()的默认行为n是比较句柄。所以除非在自己的新类中改变了equals(),n否那么不可能表现出我们希望的行为。大多数Java类库都实现了equals(),所以它实际比较的是对象的内容,而非它们的句柄。Java语言根底类n equals方法n总结的来讲,也就是说:n equals()默认的是比较句柄,因为JDK中的许多n类在实现的时候都覆盖了equals()方法,所以一n般使用java类库中的equals时,比较的是对象的n内
6、容;n但是,如果用户自己定义一个类,又没有改写nequals()方法,那么它比较的是句柄,除非用户n自己写equals()方法来使得它的功能为比较对象n的内容。Java语言根底类n toString()ntoString()方法用来返回对象的字符串表示,n可以用来显示一个对象。nSystem.out.println()方法如果带的参数是一n个对象的话,那么它会自动调用对象的ntoString()方法,那么它显示的将是“类名内存地址。在自定的类中一般来讲覆盖toString()方法。n举例 2个Java语言根底类n 根本数据类型包装类njava中提供了根本数据类型的包装类,以于面向对象的思想一致
7、。对应的也有8种:nCharacter,Byte,Short,Integer,Long,Float,nDouble,Boolean。他们都是作为类来使用。n1、提供一些常数方便使用,等。n2、提供valueOf(String),toString()n3、通过xxxValue()得到所包装的值n4、对toString(),equals()等方法进行覆盖 (举例)例7-4nclass DoubleString nnpublic static void main(String args)nnndouble d;nString s;n/double转换成转换成String的几种方法的几种方法nd=3.
8、1415926;ns=+d;ns=Double.toString(d);ns=new Double(d).toString();ns=String.valueOf(d);n /string转换成转换成double的几种方法的几种方法ns=3.1414926;ntrynd=Double.parseDouble(s);nd=new Double(s).doubleValue();nd=Double.valueOf(s).doubleValue();n catch(NumberFormatException e)nn e.printStackTrace();nnn n补充:装包与拆包n之前,根本数据
9、类型和包装类不能对等使用。Integer i=new Integer(3);装包int iv=i.intValue();拆包n之后,可以自动的进行装包和拆包:自动装包是指根本类型自动转化为包装类型,自动拆包指包装类自动转化为根本类型。Integer i=3;int iv=I;Java语言根底类n Math类n该类提供了一些不同标准的数学函数的方法,n这些都是static方法,所以使用的时候不用创立nMath类的对象,可以直接通过类名来调用这些n方法:Math.所要用的方法。方便编程。n关于具体的方法和属性,可以查询JDK的帮助n文档。(举例)例7-5nclass TestMath nnpubl
10、ic static void main(String args)nnint a=3;ndouble b=1.5,c=32.2;ndouble f=0.0;nf=1.0/2*(a+Math.sqrt(b*Math.sin(c);nSystem.out.println(f=+f);nSystem.out.println(Math.ceil(3.1415)=+Math.ceil(3.1415);nSystem.out.println(Math.floor(3.1415)=+Math.floor(3.1415);nSystem.out.println(Math.round(987.654)=+Math
11、.round(987.654);nSystem.out.println(Math.max(-987.654,301)=+Math.max(-987.654,301);nSystem.out.println(Math.PI=+Math.PI);nnJava语言根底类nSystem类n该类是一个非常有用的特殊类,提供了标准输n入/输出、运行时系统信息等工具。由于该类的n一些属性和方法这些都是static的,所以使用的n时候不能创立System类的对象,可以直接通过n类名来调用这些方法:System.所要用的方法。n Java语言根底类n用system类获得标准输入输出public static I
12、nputStream in;public static PrintStream out;public static PrintStream err;使用这些可以从标准输入读入数据或向标准输出输出数据。n用system类的方法获得系统信息system类提供一些与运行时系统交互的方法,可以利用它们获得解释器或系统的信息,也可以向运行系统发出指令。public static long current TimeMillis();public static void exit(int status);例如7-6n主要用来测试主要用来测试System类的根本属性及功能类的根本属性及功能*/nimport
13、java.util.*;nclass TestSystem nnpublic static void main(String args)nnProperties a;nEnumeration ps;nIterator pi;na=System.getProperties();na.setProperty(test_path,2);n/System.setProperties(a);nSystem.out.println(System.getProperty(test_path);nSystem.out.println(System.getProperty(java.version);n/*np
14、i=a.entrySet().iterator();nwhile(pi.hasNext()nSystem.out.println(pi.next();n */n ps=a.propertyNames();n while(ps.hasMoreElements()n Object obj=ps.nextElement();n Object objVal=a.get(obj);n System.out.println(+obj+=+objVal);n nn字符数组与字符串字符数组与字符串 字符串是字符的序列,它是组织字符的根本数据结字符串是字符的序列,它是组织字符的根本数据结构,从某种程度上来说有些
15、类似于字符的数组。构,从某种程度上来说有些类似于字符的数组。char country=C,h,i,n,a;C+?在在Java中,字符串被当作对象来处理。程序中需要用中,字符串被当作对象来处理。程序中需要用到的字符串可以分为两大类,一类是创立之后不会再做修到的字符串可以分为两大类,一类是创立之后不会再做修改和变动的改和变动的String类;另一类是创立之后允许再做更改和类;另一类是创立之后允许再做更改和变化的变化的StringBuffer类。类。Java会自动为字符串常量生成一个会自动为字符串常量生成一个String类的类的对象,所以可以直接初始化对象,所以可以直接初始化String对象,如:对
16、象,如:String s=“SCEMI XMJ!u用一个已创立的字符串创立另一个字符串,如:用一个已创立的字符串创立另一个字符串,如:u String s1=String(s);创立字符串对象创立字符串对象u使用使用String类的构造方法创立字符串对象,如:类的构造方法创立字符串对象,如:u String s=new String(“We are Chinese);uString(char a):用一个字符数组:用一个字符数组a 创立一个字符创立一个字符串对象,如:串对象,如:u char a=X,M,J;u String s=new String(a);uString(char a,int
17、 startIndex,int count):提取字:提取字符数组符数组a 中的一局部字符创立一个字符串对象,如:中的一局部字符创立一个字符串对象,如:u char a=S,C,E,M,I,X,M,J;u String s=new String(a,5,3);String类常用方法类常用方法public int length()获取字符串的长度获取字符串的长度 public boolean equals(String s)比较当前字符串对象的实体是否与参数指定比较当前字符串对象的实体是否与参数指定的字符串的字符串s的实体相同的实体相同 public boolean startsWith(Str
18、ing s)public boolean endsWith(String s)判断当前字符串对象的前缀判断当前字符串对象的前缀后缀后缀是否是参数指是否是参数指定的字符串定的字符串spublic int compareTo(String s)比较大小比较大小 等等 0;大;大 正;小正;小 负负String s1=new String(“中国中国.四川四川);String s2=new String(“中国中国.四川四川);String s3=new String(“中国中国);String s4=new String(“四川四川);System.out.println(s1.length();
19、/?System.out.println(s3.length();/?System.out.println(s1=s2);/?System.out.println(s1.equals(s2);/?System.out.println(s1=s2);/?System.out.println(s1=s2);/?System.out.println(s1.equals(s2);/?System.out.println(s1.startsWith(s3);/?System.out.println(s1.endsWith(s4);/?System.out.println(s1 pareTo(s2);/?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高等教育 高等教育 工具类及常用算法 工具 常用 算法
限制150内