第7章 工具类及常用算法.ppt
《第7章 工具类及常用算法.ppt》由会员分享,可在线阅读,更多相关《第7章 工具类及常用算法.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JAVA 程序设计,第7章 工具类及常用算法,7.1 Java语言基础类,7.1.1 Java基础类库,java.lang包是Java语言的核心类库java.util包包括了Java语言中的一些低级的实用工具java.io包是Java语言的标准输入/输出类库java.awt包是Java语言用来构建图形用户界面(GUI)的类库java.applet包是用来实现运行于Internet浏览器中的Java Applet的工具类库包是Java语言用来实现网络功能的类库其他包,JDK API文档,JDK API文档可以从网站下载,安装后,打开index.html即可 网上有chm格式的,有中文版,7.1.
2、2 Object类,Object类是Java程序中所有类的直接或间接父类,7. 类jave.lang.Object,类java.lang.Object处于Java开发环境的类层次树的根部,其他所有的类都直接或间接地为它的子类。该类定义了一些所有对象最基本的状态和行为,包括与同类对象相比较,转化为字符串等等。下面我们分别进行介绍(详细用法大家可以查阅Java JDK的API)。,(1) equals( ),用来比较两个对象是否相同,如果相同,则返回true,否则返回false,它比较的是两个对象状态和功能上的相同,而不是引用上的相同。Integer one = new Integer (1);I
3、nteger anotherOne = new Integer (1);if (one.equals (anotherOne)System.out.println (“objects are equal”);例中,equals( )方法返回true,因为对象One和anotherOne 包含相同的整数值1.上次我们讲到了“=”与equals的区别,(2) getClass ( ),getClass ( )方法是final方法,它不能被重载。它返回一个对象在运行时所对应的类的表示,从而可以得到相应的信息。下面的方法得到并显示对象的类名:void PrintClassName( Object ob
4、j ) System.out.println(“ The objects class is “ + obj.getClass( ).getName( ) );,可以用getClass创建一个类的实例,而不必在编译时即知道到底是哪个类。下例创建了一个与对象obj具有相同类型的一个新的实例,所创建的对象可以是任何类。Object creatNewInstanceOf (object obj) return obj.getClass( ).newInstance( );,(3) toString( ),toString( )方法用来返回对象的字符串表示,可以用来显示一个对象。例如:System.ou
5、t.println ( Thread.currentThread ( ).toString ( ) );可以显示当前的线程。通过重载toString ( )方法可以适当地显示对象的信息以进行调试。,(4) finalize( ),用于在垃圾收集前清除对象,前面已经讲述。,7.1.3 基本数据类型的包装类,Java的基本数据类型用于定义简单的变量和属性将十分方便,但为了与面向对象的环境一致,Java中提供了基本数据类型的包装类(wrapper),它们是这些基本类型的面向对象的代表。与8种基本数据类型相对应,基本数据类型的包装类也有8种,分别是:Character,Byte,Short,Integ
6、er,Long,Float,Double,Boolean。,这几个类有以下共同特点。,(1)这些类都提供了一些常数,以方便使用,如Integer.MAX_VALUE(整数最大值), Double.NaN(非数字),Double. POSITIVE_INFINITY(正无穷)等。(2)提供了valueOf(String),toString(),用于从字符串转换及或转换成字符串。(3)通过xxxxValue()方法可以得到所包装的值,Integer对象的intValue()方法。(4)对象中所包装的值是不可改变的(immutable)。要改变对象中的值只有重新生成新的对象。(5)toString(
7、), equals()等方法进行了覆盖。除了以上特点外,有的类还提供了一些实用的方法以方便操作。例如,Double类就提供了更多的方法来与字符串进行转换。,/double转成string的几种方法d=3.14159;s = + 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
8、.valueOf( s ).doubleValue();catch(NumberFormatException e )e.printStackTrace();例 DoubleAndString.java在jdk1.5 以上提供了boxing/unboxing,更方便操作,7.1.4 Math类,Math类用来完成一些常用的数学运算 public final static double E;/ 数学常量e public final static double PI;/ 圆周率常量public static double abs(double a);/ 绝对值public static doubl
9、e exp(double a);/ 参数次幂ublic static double floor(double a);/ 不大于参数的最大整数 public static double IEEE remainder(double f1,double f2);/ 求余 public static double log(double a);/ 自然对数 public static double max(double a,double b);/ 最大值 public static float min(float a,float b);/ 最小值例: TestMath.java,public stati
10、c double pow(double a,double b);/ 乘方 public static double random();/ 产生0和1(不含1)之间的伪随机数 public static double rint(double a);/ 四舍五入 public static double sqrt(double a);/ 平方根 public static double sin(double a);/ 正弦 public static double cos(double a);/ 余弦 public static double tan(double a);/ 正切 public s
11、tatic double asin(double a);/ 反正弦 public static double acon(double a);/ 反余弦 public static double atan(double a);/ 反正切,7.1.5 日期类,Calendar得到一个实例 Calendar.getInstance() /Locale.ZH.get(DAY_OF_MONTH) .getDisplayName(DAY_OF_WEEK).set .add(HOUR,1) .roll(MONTH, 5), .setTime(date), .getTime()Datenew Date(),
12、new Date(System.currentTimeMillis().setTime(long), .getTime()SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).format, .parse例 CalendarDate.java,getTime(),getTime(),7.1.6 System类,在Java中,系统属性起到替代环境变量的作用(环境变量是平台相关的)可使用System.getProperties()方法获得一个 Properties类的对象,其中包含了所有可用的系统属性信息可使用System.getProperty(String name)
13、方法获得特定系统属性的属性值在命令行运行Java程序时可使用-D选项添加新的系统属性,7. 2 字符串,程序中需要用到的字符串可以分为两大类,一类是创建之后不会再做修改和变动的字符串常量;另一类是创建之后允许再做更改和变化的字符串。前者是String类,后者是StringBuffer类。 除了immutable特点外,还要注意String是否interned,7.2.1 String类,String 类对象保存不可修改(immutable)的Unicode字符序列 String类的下述方法能创建并返回一个新的String对象实例: concat, replace, replaceAll, su
14、bstring, toLowerCase, toUpperCase, trim,toString.提供查找功能的有关方法: endsWith, startsWith, indexOf,,lastIndexOf.提供比较功能的方法: equals, equalsIgnoreCase, 其它方法: charAt ,length.例: TestStringMethod.javaJdk1.5 增加了format函数 StringFormat.java%1$,8.5f %序号$ 标识 宽度及精度 转换方式,7.2.2 StringBuffer类,StringBuffer类对象保存可修改的Unicode字
15、符序列: 特别是在循环中不使用+=构造方法 StringBuffer() StringBuffer(int capacity) StringBuffer(String initialString)实现修改操作的方法: append, insert, reverse, setCharAt, setLength.例:Sring与StringBuffer的转化 StringAssign.java,7.2.3 StringTokenizer类,java.util.StringToken类提供了对字符串进行解析和分割的功能。比如,要对一条语句进行单词的区分,就可以用到该类。StringTokenizer
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工具 常用 经常使用 算法
限制150内