工具类及常用算法

上传人:宝路 文档编号:2965985 上传时间:2017-07-29 格式:PPT 页数:47 大小:872.27KB
返回 下载 相关 举报
工具类及常用算法_第1页
第1页 / 共47页
工具类及常用算法_第2页
第2页 / 共47页
工具类及常用算法_第3页
第3页 / 共47页
工具类及常用算法_第4页
第4页 / 共47页
工具类及常用算法_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《工具类及常用算法》由会员分享,可在线阅读,更多相关《工具类及常用算法(47页珍藏版)》请在金锄头文库上搜索。

1、JAVA 程序设计,第9章 工具类及常用算法,1,9.1.1 Java基础类库,java.lang包是Java语言的核心类库java.io包是Java语言的标准输入/输出类库java.util包包括了Java语言中的一些低级的实用工具ava.awt包是Java语言用来构建图形用户界面(GUI)的类库java.applet包是用来实现运行于Internet浏览器中的Java Applet的工具类库包是Java语言用来实现网络功能的类库其他包,2,9.1 Java语言基础类,JDK API文档,JDK API文档可以从网站下载,安装后,打开index.html即可 网上可以找到chm格式的,甚至中

2、文版,3,9.1.2 Object类,Object类是Java程序中所有类的直接或间接父类类java.lang.Object处于Java开发环境的类层次树的根部,其他所有的类都直接或间接地为它的子类。该类定义了一些所有对象最基本的状态和行为,包括与同类对象相比较,转化为字符串等等。下面我们分别进行介绍(详细用法大家可以查阅Java JDK的API)。,4,(1) equals( ),用来比较两个对象是否相同,如果相同,则返回true,否则返回false,它比较的是两个对象状态和功能上的相同,而不是引用上的相同。Integer one = new Integer (1);Integer anot

3、herOne = new Integer (1);if (one.equals (anotherOne)System.out.println (“objects are equal”);例中,equals( )方法返回true,因为对象One和anotherOne 包含相同的整数值1.,5,(2) getClass ( ),getClass ( )方法是final方法,它不能被重载。它返回一个对象在运行时所对应的类的表示,从而可以得到相应的信息。下面的方法得到并显示对象的类名:void PrintClassName( Object obj ) System.out.println(“ The

4、objects class is “ + obj.getClass( ).getName( ) );,6,(3) toString( ),toString( )方法用来返回对象的字符串表示,可以用来显示一个对象。例如:System.out.println ( Thread.currentThread ( ).toString ( ) );可以显示当前的线程。通过重载toString ( )方法可以适当地显示对象的信息以进行调试。,7,Object类的toString()方法,当System.out.println()方法的参数为Object类型,println()会自动调用Object对象的t

5、oString()方法,然后打印toString()方法返回的字符串。System.out.println(new Object().toString();等价于:System.out.println(new Object();,8,覆盖父类的函数(P195/例9-6),public String toString()return(电话卡接入号码: + connectNumber+n 电话卡卡号: + cardNumber+n 电话卡密码: + password+n 卡中的金额: + balance+n 通话附加费: + additoryFee);,9,9.1.3 基本数据类型的包装类,Jav

6、a的基本数据类型用于定义简单的变量和属性将十分方便,但为了与面向对象的环境一致,Java中提供了基本数据类型的包装类(wrapper),它们是这些基本类型的面向对象的代表。与8种基本数据类型相对应,基本数据类型的包装类也有8种,分别是:Character,Byte,Short,Integer,Long,Float,Double,Boolean。,10,6.1.2 数据类型类,表6-1 数据类型类及对应的基本数据类型,11,P98,这几个类有以下共同特点。(1)这些类都提供了一些常数,以方便使用,如Integer.MAX_VALUE(整数最大值), Double.NaN(非数字),Double.

7、 POSITIVE_INFINITY(正无穷)等。(2)提供了valueOf(String),toString(),用于从字符串转换及或转换成字符串。(3)通过xxxxValue()方法可以得到所包装的值,Integer对象的intValue()方法。(4)对象中所包装的值是不可改变的(immutable)。要改变对象中的值只有重新生成新的对象。(5)toString(), equals()等方法进行了覆盖。除了以上特点外,有的类还提供了一些实用的方法以方便操作。例如,Double类就提供了更多的方法来与字符串进行转换。,12,/double转成string的几种方法d=3.14159;s =

8、 + d;s = Double.toString( d );s = new Double(d).toString();s = String.valueOf( d );/ String转成double的几种方法s = 3.14159;tryd = Double.parseDouble( s );d = new Double(s).doubleValue();d = Double.valueOf( s ).doubleValue();catch(NumberFormatException e )e.printStackTrace();,13,(4)String与 int 量相互转化 public

9、String toString ( ) 将当前对象所对应的 int 量转化成字符串; public static int parseInt (String s) 类方法,将字符串转化成 int 量; public static Integer valueOf (String s) 类方法,将字符串转化成 Integer 对象,该对象对应的 数值与字符串表示的数值一致;,14,所有数据类型类都是最终类。除 Boolean 类和 Character 类是 Object 类的直接子类外,其他类都是抽象类 Number 类的子类,与 Integer 类相似的属性和方法。例从字符串转成其它基本数据类型;

10、 int i = Integer . parseInt (“123”) ; int i = Integer . valueOf (“123”) . intValue ( ) ; float f = Float . valueOf (“1 . 23”) . floatValue ( ) ; boolean b = Boolean . valueOf (“true”) . booleanValue ( ) ;,15,9.9.3 自动装箱与拆箱,在JDK1.5以上的版本中则可以自动地进行装箱和拆箱:自动装箱是指基本类型自动转为包装类(如int转为Integer);自动拆箱是指包装类自动转为基本类型

11、(如Integer转为int) int a = 3;ArrayList ary = new ArrayList();ary.add(a); /装箱:int自动转换成Integer对象作为add方法的参数int c = (Integer)ary.get(0); / 拆箱:Integer自动转换成int赋值给变量c,16,P100,341,Math 类,特点:1)提供实现标准数学函数的方法,用来完成常用数学运算; 2)使用方法全部是 static 方法,可直接采用类名调用; public final static double E ; / 数学常量 e public final static do

12、uble PI ; / 圆周率 public static double abs (double a) ; / 绝对值 public static double acos (double a) ; / 反余弦 public static double exp (double a) ; / e 的 a 次幂 public static double floor (double a) ; / 不大于 a 的最大整数 public static double IEEEremainder (double f1, double f2) ; / 求余,17,public static double log

13、 (double a) ; / 自然对数 public static double max (double a, double b) ; / 最大值 public static double random ( ) ; / 返回带正号的 double 值,大于或等于 0.0,小于 1.0。 public static double rint (double a) ; / 四舍五入 public static double sqrt (double a) ; / 平方根 例 求 1100 之间的一个随机数 int i = (int) (Math . random ( )* 100 )+1 ;产生一

14、个x1,x2内的随机整数x x=(int)(Math.random()*(x2-x1+1)+x1) Math.random()产生一个0,1)区间内的实数,18,System 类,public final class System extends Object特点:System 类不能继承,且所有属性和方法都是 static 的。用 System 类获取标准输入/输出 public static InputStream in ;/ 标准输入 public static PrintStream out ;/ 标准输出 public static PrintStream err ;/ 标准错误输出

15、例:char c = System . in . read ( ) ; System . out . println (“Hello !”) ;,19,P319,用 System 类的方法获取系统信息,完成系统操作 public static long currentTimeMillis ( ) : 获取自 1970 年 1 月 1 日零时至当前系统时刻的微秒数; public static void exit ( int status ) : 强制 Java 虚拟机退出运行; public static void gc ( ) : 强制调用 Java 虚拟机的垃圾回收功能;,20,9. 2

16、字符串,程序中需要用到的字符串可以分为两大类,一类是创建之后不会再做修改和变动的字符串常量;另一类是创建之后允许再做更改和变化的字符串。前者是String类,后者是StringBuffer类。,21,9.2.1 String类,String 类对象保存不可修改(immutable)的Unicode字符序列 String类的下述方法能创建并返回一个新的String对象: concat, replace, substring, toLowerCase, toUpperCase, trim,String.提供查找功能的有关方法: endsWith, startsWith, indexOf,,lastIndexOf.提供比较功能的方法: equals, equalsIgnoreCase, 其它方法: charAt ,length.,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号