资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Return第第11章章 常用工具包和类常用工具包和类11.1 Java11.1 Java常用工具包常用工具包11.2 11.2 简单类型包装器简单类型包装器11.3 Object11.3 Object类类11.4 Class11.4 Class类类11.5 Package11.5 Package类类 11.6 Runtime11.6 Runtime类类 11.7 System11.7 System类类11.8 Math11.8 Math类类本章将介绍Java语言中的常用工具包和类。这些工具包和类在编程过程中经常用到,有些甚至是必不可少的,如java.lang包、System类等。熟练掌握本章所介绍的系统工具包和系统类,将为进一步学习Java编程打下良好的基础。添古念放彪喷醚芽羽拆钾疆坊弗孰返方蜂酸涌坯卜由穴佰驻倒箔篓贩犬透Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章Return11.1 Java11.1 Java常用工具包常用工具包在Java中,系统提供了大量的包以满足面向对象、网络化、编程的需要。本节将对一些常用的工具包作简要介绍。11.1.1JavaAPI包11.1.2java.lang染瞥浆纱宙荒墨洪卢堡袭铲功冠幂似奉茸臆王诅称粥嚷讶舷粹峦观趾尧叹Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.1.1JavaAPI包在Java1.0被发布时,它包括一系列的8个包,被称作核心应用编程接口(API)。其中许多包在前面的章节中我们已介绍过,而且编程时经常用到。现在,每当发布一个Java新版本时,都会增加一些核心API,当然还有其他一些有用的工具包。在J2SE1.2版本中,60个包总共提供了1781个公共类和接口;在J2SE1.3版本中,70多个包提供的公共类和接口超过2100个;在J2SE1.4版本中,120多个包提供了总数超过2600个的公共类和接口。以下是一些经常用到的工具包:以下是一些经常用到的工具包: l语言包(java.lang)提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等,可以用它简单地实现Java程序的运行平台; l输入输出包(java.io)使用统一的“流”模型来实现所有格式的IO,包括文件系统、网络传输、输入/出设备等; l实用程序包(java.util)提供的支持包括哈希表、堆栈以及时间和日期等; l抽象窗口工具集包(java.awt)实现了不同平台上的计算机图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得Java可以移植到不同的运行环境; l网络包(java.net)支持Internet的TCPIP协议,提供了与Internet的接口。它支持URL连接,WWW的即时访问,并且简化了C/S(客户/服务器)模型的程序设计。另外比较常见的Java包还有:java.math、java.sql、java.text、java.rmi、java.beans以及java.security等。教材P268页中的表11-1,列出了所有被Java2定义的Java核心API包并对它们作了简要描述。Return敞占槛蚕拜朋臣痒烷燃胜腿家领稍序讯又默轰祭字持涂雅侵憋功狙祖潞姨Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.1.2 java.lang 其实,我们前面章节编写的每个Java程序都与java.lang有关。但之所以没说明,是因为java.lang被自动导入所有的程序。它所包含的类和接口对所有Java程序都是必要的,是Java中最广泛使用的包。教材P269页给出了java.lang中主要包括的类。另 外 , 还 有 两 个 由 Character定 义 的 类 : Character.Subset和Character.UnicodeBlock,它们是在Java2中新增加的。java.lang中也定义了如下的接口: lCloneable接口 lComparable接口 lRunnable接口其中,Comparable接口是在Java2中新增加的。java.lang中的几个类包含了过时的方法,其中的大多数可以追溯到Java1.0。在Java2中仍然提供了这些方法,用于支持逐渐减少的老程序,而这些方法在新程序中不被推荐使用。大多数过时的方法出现在Java2之前,因此我们不准备讨论这些方法。Return燕彬炕累聂捉箔兼檄址斩选纂羹低攻卵稳鹏照作帛银暗贩傲架馁遥诱睬氓Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章Return11.2 简单类型包装器简单类型包装器11.2.1 Number 11.2.2 DoubleFloat 11.2.3 Byte、Short、Integer和和 Long11.2.4 Character 11.2.5 Boolean类类11.2.6 关于关于Vector11.2.7 Void和和Process在教材2.3节中我们提到过,Java使用简单的类型,如整型(int)、字符(char)等数据类型不是对象层次结构的组成部分,它们通过值传递给方法而不能直接通过引用传递。而且也没有办法使两种方法对整型(int)引用同一实例(sameinstance)。但是,有时需要对这些简单的类型建立对象表达式,如处理对象的枚举类,要将简单类型存储到这些类中的一个,需要在类中包装简单类型。为了满足这种需要,Java提供了与每一个简单类型相对应的类。从本质上讲,这些类在类中包装简单类型,因此通常被称作类型包装器(wrappers)。渗矣觉隔钙狐多郸瑶絮脉皖桩蒲懊谜芒镍蔡鸭鲍钓居帘宇抬蓉擎筏诺结语Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章Return11.2.1Number抽象类Number定义了一个由包装数字类型字节型(Byte)、短整型(Short)、整型(Int)、长整型(Long)、浮点型(Float)和双精度型(Double)的类实现的超类。Number有返回上面不同数字格式的对象值的抽象方法。也就是,doubleValue()方法返回双精度(Double)值,floatValue()方法返回浮点(Float)值等。这些方法如下:bytebyteValue()doubledoubleValue()floatfloatValue()intintValue()longlongValue()shortshortValue()Number有6个具体的子类包含了6种数字类型的显式值:双精度型(Double)、浮点型(Float)、字节型(Byte)、短整型(Short)、整型(Integer)和长整型(Long)。遭茂兜茁堆伊物滤膛杀扇瞩凌亭咱章附纵埠斑蚜冤投致迁铭蹭废拓颓铭烈Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.2.2 DoubleFloat 双精度(Double)和浮点(Float)分别是对类型double和类型float的浮点值的包装器。浮点(Float)构造函数如下所示: Float(doublenum)Float(floatnum)Float(Stringstr)throwNumberFormatException如上可见,浮点(Float)对象可以由类型float或类型double的值创建。它们也能由浮点数的字符串表达式创建。双精度(Double)的构造函数如下。Double(doublenum)Double(Stringstr)throwNumberFormatException双精度(Double)对象可以被双精度(Double)值或包含了浮点值的字符串创建。浮点(Float)和双精度(Double)都定义了一些常数,这些常数见教材P270页。由浮点(Float)定义的方法见教材P271页表11-2。由双精度(Double)定义的方法见教材P271页表11-3。Return菩堤验浪奎浇尿冻夏溜叠夹聪仗咆肤耘亩葱捻衰迁眶罪酪嫂内恐港玖样噪Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.2.3 Byte11.2.3 Byte、ShortShort、IntegerInteger和和 Long LongByte、Short、Integer和Long类分别是字节型(byte)、短整型(short)、整型(int)和长整型(long)整数类型的包装器。它们的构造函数分别如下:Byte(bytenum)Byte(Stringstr)throwNumberFormatExceptionShort(shortnum)Short(Stringstr)throwNumberFormatExceptionInteger(intnum)Integer(Stringstr)throwNumberFormatExceptionLong(longnum)Long(Stringstr)throwNumberFormatException正如上所示,这些对象可由数值或含有有效整数值的字符串创建。下面讨论如何进行数字和字符串的转换问题。在程序设计中,一个最常见的问题是将一个数字的字符串表达式转换成内部的二进制格式。Java为此提供了一个方便的方法去完成这项任务。Byte、Short、Integer和Long类分别提供了parseByte()、parseShort()、parseInt()和parseLong()方法。这些方法返回与调用它们的数值字符串相应的字节(byte)、短整型(short)、整型(int)和长整型(long)值。在Float和Double类中也有相似的方法。教材P274页的程序说明了parseInt()方法的使用。Return鲜楷进澈逸订赖炊忙雹蜘考柞蔽栋宙店基皿盼谅跪戮洱默谊芋砚勃蹬在粹Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.2.4 Character 字符(Character)是围绕字符型(char)的一个简单的包装器。字符(Character)的构造函数如下:Character(charch)这里,ch指定了被创建的字符(Character)对象所包装的字符。调用如下的charValue()方法可以获得包含在字符(Character)对象中的字符型(char)值。 charcharValue()调用的结果返回字符。字符(Character)类定义的常数见教材P275页。字符(Character)包括了几个静态方法,这些方法将字符分类并改变其大小写。这些方法见教材P275276页表11-4。关于这些方法的使用见教材P276页的示例。Return滨丰绵皂楷薄侧子留惜掖幌警礁宋丙查睛鸣赢狞逮伤乐膳瑶馆嘛柔祭睫吊Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.2.5 Boolean11.2.5 Boolean类类Boolean是一个围绕布尔(boolean)值的非常细小的包装器,主要用在通过引用传递布尔(boolean)变量的场合。它包含了常数TRUE和FALSE,这些常数定义了布尔(Boolean)对象的真与假。Boolean也定义了TYPE域,它是boolean的Class对象。在Boolean中定义了如下的构造函数:Boolean(booleanboolValue)Boolean(StringboolString)在第一种形式中,boolValue要么是true,要么是false。在第二种形式中,如果在boolString中包含了字符串“true”(无论是大写形式还是小写形式),则新的布尔(Boolean)对象将为真,否则为假。Boolean定义了教材P277页表11-5中所列出的方法。Return嗜哲园哇恼勤已燕膝郑急压仲优彤琼褂筏狙怖慷毫坏言核球嫂肯凄示涣用Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.2.6 关于关于Vector向量(Vector)是由java.util包提供的,它允许提供不同类型元素共存的变长数组。Vector类的特点如下。 l需要处理的对象数目不定,序列中的元素都是对象,或者可以表示成对象。 l需要将不同类的对象组合成一个数据序列。 l需要做频繁的对象序列中元素的插入和删除。 l经常需要定位序列中的对象或其他查找操作。 l在不同的类之间传递大量的数据。其局限性是对象不能是简单类型,但这可以通过数组(Array)实现。(1)创建向量类的对象:)创建向量类的对象:publicVector(intinitCapacity,intcapacityIncrement);其中,initCapacity表示刚创建时Vector序列包含的元素数目,capacityIncrement表示如果向Vector序列中加元素,一次性加多少个。(2)向向量序列中加元素:)向向量序列中加元素:addElement(Objectobj)insertElement(Objectobj,intindex)(3)修改和删除向量序列中元素:)修改和删除向量序列中元素:setElementAt(Objectobj,intindex)removeElement(Objectobj)removeElementAt(intindex)removeAllElements()(4)查找向量序列中元素:)查找向量序列中元素:elementAt(intindex)contains(Objectobj)lastIndexOf(Objectobj,intstart_index)Return珠究检蓟踪扫孕宙卫醇其懂碘箩焰播觉狙研雇稻印两千跳批棺泄榷汾桔练Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章Return11.2.7 Void和和ProcessVoid类有一个TYPE域,该域保存对类型void的Class对象的引用。这样做将不创建类的实例。抽象类Process封装了一个进程(process),也就是一个正在执行的程序。它主要被当作由Runtime类中的exec()方法所创建的对象的类型的超类。Runtime类将在后面介绍。在抽象类Process中,包含了教材P278页表11-6中所列出的抽象方法。琴廷邓雍摧陡寻损雌昨藩虚倡在节笛榆礼浦崭被沿琳郎趴螟裳蓖消眨呕瘴Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章Return11.3 Object类类11.3.1Object11.3.2使用clone()和Cloneable接口这里大致介绍一下Object类。在Java中,定义有一种特殊的类Object,其他所有的类都是Object的子类。也就是说,Object是所有其他类的超类。这意味着一个Object类型的引用变量可以引用其他任何一个类的对象。同样,因为数组像类一样执行,Object类型变量可以引用任何数组。能敬宛辉洛喻憾揭宋楚创衣蛆操肾嚏铰畴返酸柄脉森刚绕溅根炯微褥相哉Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章挚提瘤岂畅兔晋半旋辗到稼糠茹浅冀掠咕惩火画圆棒钡隶纱试肄矮怀或呼Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章Return11.3.1 Object Object定义了教材P279页表11-7的方法,意味着它们可以被用于任何对象。这些类方法对于每一个对象都是可引用的。其中,getClass()、notify()、notifyAll()和wait()方法被定义成final。你可以重载除这些方法以外的其他方法。注意这两个方法:注意这两个方法:equals()和toString()。equals()方法比较两个对象的内容。如果对象是相等的,它返回true,否则返回false。toString()方法返回一个包含调用它的对象描述的字符串。而且,该方法在对象使用println()输出时自动调用。很多类都重载该方法,这样做使它们生成它们创建对象类型的一个特殊描述。艾泅翟酵掀直嘻趟托锥妻婆祖卑囚悦滨友凭括柴红撞澎及埠诉茁撇悦谋遇Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.3.2 11.3.2 使用使用clone()clone()和和CloneableCloneable接口接口由Object类定义的绝大部分方法在本书其他部分讨论。而一个特别值得关注的方法是clone()。clone()方法创建调用它的对象的一个复制副本。只有那些实现Cloneable接口的类能被复制。Cloneable接口没有定义成员。它通常用于指明被创建的一个允许对对象进行位复制(也就是对象副本)的类。如果试图用一个不支持Cloneable接口的类调用clone()方法,将引发一个CloneNotSupportedException异常。当一个副本被创建时,并没有调用被复制对象的构造函数。副本仅仅是原对象的一个简单精确的拷贝。复制是一个具有潜在危险的操作,因为它可能引起不是你所期望的副作用。例如,假如被复制的对象包含了一个称为obRef的引用变量,当副本创建时,副本中的obRef如同原对象中的obRef一样引用相同的对象。如果副本改变了被obRef引用的对象的内容,那么对应的原对象也将被改变。这里是另一个例子。如果一个对象打开一个I/O流并被复制,两个对象将可操作相同的流。而且,如果其中一个对象关闭了流,而另一个对象仍试图对I/O流进行写操作的话,将导致错误。由于复制可能引起问题,因此在Object内,clone()方法被说明为protected。这就意味着它必须或者被由实现Cloneable的类所定义的方法调用,或者必须被那些类显式重载以便它是公共的。分析教材P280281页的例子。Return米雕吵匀初蜂跨侩苟疑熊嗣匝致骏启致记册酞恨冯煤组檄椿妓绸澡照褂饱Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.4 Class类类 Class封装对象或接口运行时的状态。当类被加载时,类型Class的对象被自动创建。不能显式说明一个类(Class)对象。一般地,通过调用由Object定义的getClass()方法来获得一个类(Class)对象。由Class定义的一些最常用的方法见教材P282页表11-8所示。由Class定义的方法经常用在需要知道对象的运行时类型信息的场合。如上表中所说明的那样,由Class提供的方法确定关于特定的类的附加信息。例如它的公共构造函数,域以及方法。教材P283页的程序说明了getClass()(从Object继承的)和getSuperclass()方法(从Class继承的)。说说明明:关关于于ClassLoader的的问问题题:抽抽象象类类ClassLoader规规定定了了类类是是如如何何加加载载的的。应应用用程程序序可可以以创创建建扩扩展展ClassLoader的的子子类类,实实现现它它的的方方法法。这这样样做做允允许许使使用用不不同同于于通通常常由由Java运运行行时时系系统统加加载载的的另另一一些些方方法法来来加加载载类。由类。由ClassLoader定义的一些方法见教材定义的一些方法见教材P283页表页表11-9。Return郊停笼驮蔫动卖虞怒聘栈且禾慕桶忆森鲁您宽乐嫌圾愧蛹鲍祖处痰吸律辛Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.5Package类在Java2中,增加了一个称为Package的类,这个类封装了与包有关的版本数据。关于包版本信息,由于包的增值以及由于Java程序可能需要知道哪些包版本可以利用,而变得更加重要。Package中定义的方法见教材P284页表11-10所列。教材P284页的程序通过显示程序当前已知的包而说明了Package的用法。Return铀趴玲醋午衙膜估蚕浪佃宛捌媒菲近紊深括浅端径甄胚浊渣傲府提迹奉柯Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.6Runtime类11.6.1内存管理11.6.2执行其他的程序ReturnRuntime类封装了运行时环境。一般情况下,不实例化一个Runtime对象,但是可以通过调用静态方法Runtime.getRuntime()而获得对当前Runtime对象的引用。一旦获得了对当前对象的引用,就可以调用几个控制Java虚拟机的状态和行为的方法。小应用程序(Applets)和其他不可信赖的编码由于没引起一个安全异常(SecurityException),故不能调用任何的Runtime方法。教材P285页表11-11给出了由Runtime定义的方法。Java2中不建议使用方法runFinalizersOnExit(),这种方法是在Java1.1中增加的,因为它现在被认为是一种不稳定的方法。下面让我们来看一看Runtime类的两个最普遍的用法:内存管理和执行附加进程。莉千咳拯远会姥院翌奸妹秩剐翠险卓病笑段赫铭碴惭筒韦纺内窑颖氧坏妨Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.6.1内存管理尽管Java提供了自动垃圾回收,有时也想知道对象堆的大小以及它还剩下多少。可以利用这些信息检验你的代码的效率,或估计对某些类型,有多少对象可以被实例化。为了获得这些值,可以使用totalMemory()和freeMemory()方法。正如我们在前面章节提及的,Java的垃圾回收器周期性地运行将不再使用的对象放入回收站。然而,有时想在收集器的下一个指定循环之前收集被丢弃的对象。如果这样可通过调用gc()方法按照要求运行垃圾回收器。一个比较好的策略是调用gc()方法,然后再调用freeMemory()方法以获得内存使用的底线。接着执行你的程序,并再一次调用freeMemory()方法看分配了多少内存。教材P286页的例子说明了这个思想。Return锅绕蓑疵畦阂徊句矽昼扣阉惦饵赡夯五骗永敏皂墟搅豌勋盗菏众嘲忽汰筒Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.6.2执行其他的程序在可靠的环境中,可以在你的多任务操作系统中使用Java去执行其他特别繁重的进程(也即程序)。exec()方法的几种形式允许命名想运行的程序以及它们的输入参数。exec()方法返回一个Process对象,这个对象可以被用来控制你的Java程序如何与这个正在运行的新进程相互作用。因为Java可以运行在多种平台和多种操作系统的情况下,exec()方法本质上是依赖于环境的。教材P287页的第一个例子使用exec()方法装入Window的简单文本编辑器NotePad。显而易见,这个例子必须在Windows操作系统下运行。exec()方法有几个形式可用,而在本例子中展示的是最常用的一种。在新程序开始运行之后,由exec()方法返回的Process对象可以被Process方法使用。可以使用destroy()方法杀死子进程。waitFor()方法暂停程序直至子进程结束。当子进程结束后,exitValue()方法返回子进程返回的值。如果没有问题发生,它通常返回0。教材P287页的第二个例子是前面关于exec()方法例子的改进版本。例子被修改为等待直至正在运行的进程退出。Return摸沃傻焉搂阎歇搓彼兑棍熬矽卞沧冯耻毫瓢糙会硬惹玄蔽夜撞罩炙锈藩矿Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章Return11.7 System类类11.7.1使用currentTimeMillis()方法11.7.2使用arraycopy()方法11.7.3环境属性System类保存静态方法和变量的集合。标准的输入,输出和Java运行时错误输出存储在变量in,out和err中。由System类定义的方法见教材P288页表11-12中所示。 注意,注意,当所做操作为安全方式所不允许时,许多方法引发一个安全异常(SecurityException)。同样,Java2不赞成使用runFinalizersOnExit()方法。该方法是在Java1.1中增加的,同时也被证明是不可靠的。下面让我们看一看System类的一些用法。婴帽验隔吭拐帮肆单酥眺恤酸楷侥敛迹甲攒岛稽邮漳怒瓮片漓饵关茂咯拧Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.7.1 11.7.1 使用使用currentTimeMillis()currentTimeMillis()方法方法可以发现System类的一个特别有意义的用法是:利用currentTimeMillis()方法来记录程序的不同部分的执行时间。currentTimeMillis()方法返回自从1970年1月1号午夜起到现在的时间,时间单位是毫秒。如果要记录程序中一段有问题程序的运行时间可以在这段程序开始之前存储当前时间,在该段程序结束之际再次调用currentTimeMillis()方法。执行该段程序所花费的时间为其结束时刻的时间值减去其开始时刻的时间值。教材P289页的程序说明了这一点。Return处哈努佬郧绘泵站捣掘薪闲依嚼二硬馏紧翟禽播羹娜镇拾隘瓦缝诲党惟决Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.7.2 11.7.2 使用使用arraycopy()arraycopy()方法方法使用arraycopy()方法可以将一个任意类型的数组快速地从一个地方复制到另一个地方。这比使用Java普通语句编写的循环算法要快得多。教材P290页是一个用arraycopy()方法复制两个数组的例子。首先,将数组a复制给数组b;接下来,数组a中的所有元素向后移一位,然后数组b中元素向前移一位。Return奴集饱顿慑需酬八客她租麻艘惹榔饮探缕搓奄啄摹疑绦歪屑烂噪视卵凌犯Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.7.3 11.7.3 环境属性环境属性教材P290页的属性在Java2的所有环境中可以使用。可以通过调用System.getProperty()方法来获得不同环境变量的值。例如,下面的程序可显示当前用户目录的路径。classShowUserDirpublicstaticvoidmain(Stringargs)System.out.println(System.getProperty(user.dir);Return茵碴假桔扫渍顾怨歇隋侵评苦妥季斗腹怠均番讲衫究拼却汤蔡驶诲寇诣伎Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章Return11.8 Math11.8 Math类类11.8.1 超越函数超越函数11.8.2 指数函数指数函数11.8.3 舍入函数舍入函数11.8.4 其他数学方法其他数学方法Math类提供了进行复杂数学运算的一些途径,它保留了所有用于几何学、三角学以及几种一般用途方法的浮点函数。Math定义了两个双精度(double)常数:E(近似为2.72)和PI(近似为3.14)。早葵荐玉哉壳远枝匆知软舵闰梯耪贺涌磊召凿今列掣睛卫帕铣酞禽臼贩悸Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.8.1 11.8.1 超越函数超越函数下面的三种方法对一个以弧度为单位的角度接收一个双精度(double)参数并且返回它们各自的超越函数的结果。 static double sin(double arg):返回由以弧度为单位由arg指定的角度的正弦值; static double cos(double arg):返回由以弧度为单位由arg指定的角度的余弦值; static double tan(double arg):返回由以弧度为单位由arg指定的角度的正切值。下面的方法将超越函数的结果作为一个参数,按弧度返回产生这个结果的角度值。它们是其非弧度形式的反。 static double asin(double arg):返回一个角度,该角度的正弦值由arg指定; static double acos(double arg):返回一个角度,该角度的余弦值由arg指定; static double atan(double arg):返回一个角度,该角度的正切值由arg指定; static double atan2(double x, double y):返回一个角度,该角度的正切值为x/y。Return检馁辛葱确乡窟拭霓拥滨厢冉奔雇农脓坊惕骨福驼利眺座沼僵角帮孜硷寒Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章Return11.8.2 11.8.2 指数函数指数函数Math类定义了如下的指数方法。static double exp(double arg):返回arg的estatic double log(double arg):返回arg的自然对数值static double pow(double y, double x):返回以y为底数,以x为指数的幂值;例如pow(2.0,3.0)返回8.0static double sqrt(double arg):返回arg的平方根提缚屡涉牢剥抖很谦几毗退完呼五衬腺焰纹沦境瘩忱龟坡沾宁蠕砧轻磋粥Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章Return11.8.3 11.8.3 舍入函数舍入函数Math类定义了一些提供不同类型舍入运算的方法,见教材P291292页表11-13中所列。扣钢恳映抒岳音酒畔记恤谊赚晓虚秘顾绿催骏面蓬澈薛坎帝轮倚问呛腕眶Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章11.8.4 11.8.4 其他数学方法其他数学方法除了给出的方法,Math还定义了下面这些方法。staticdoubleIEEEremainder(doubledividend,doubledivisor)staticdoublerandom()staticdoubletoRadians(doubleangle)staticdoubletoDegrees(doubleangle)IEEEremainder()方法返回dividend/divisor的余数。random()方法返回一个伪随机数,其值介于0与1之间。在大多数情况下,当需要产生随机数时,通常用Random类。toRadians()方法将角度的度转换为弧度。而toDegrees()方法将弧度转换为度。教材P292页是一个说明toRadians()和toDegrees()方法的例子。Return妇慈吏惑垂乍饯隋诲溶神颠躯提超假巨顷度尚怨牟呻跺务住荤好端阉坟淆Java语言程序的设计实验指第11章Java语言程序的设计实验指第11章
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号