Java语言程序设计基础教程课件(第05章).ppt_第1页
Java语言程序设计基础教程课件(第05章).ppt_第2页
Java语言程序设计基础教程课件(第05章).ppt_第3页
Java语言程序设计基础教程课件(第05章).ppt_第4页
Java语言程序设计基础教程课件(第05章).ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第5章Java API,浙江工业大学计算机科学与技术,浙江工业大学图形图像研究所,高,飞,2,1、 以下关于abstract的说法,正确的是( )。 A、abstract只能修饰类 B、abstract只能修饰方法 C、abstract类中必须有abstract方法 D、abstarct方法所在的类必须用abstract修饰,练习思考题,3,第5章Java API,理解Java API的概念 了解Object类 熟悉String类和StringBuffer类 基本数据类型的对象类 Properties类 System类与Runtime类 Date与Calendar,DateFormat类

2、Math与Random类,本章的目的:,回顾关键词:继承、超类和子类、抽象类和接口、内部类、 Class类,4,5.1 Java API的概念,Java的类库是Java语言提供的已经实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。这些类根据实现的功能不同,可以划分为不同的集合,每个集合组成一个包,称为类库。Java类库中大部分都是由Sun公司提供的,这些类库称为基础类库。 Java语言中提供了大量的类库供程序开发者来使用,了解类库的结构可以帮助开发者节省大量的编程时间,而且能够使编写的程序更

3、简单更实用。Java中丰富的类库资源也是Java语言的一大特色,是Java程序设计的基础。,5,Java常用包的简单介绍如下:,1)java.lang包:主要含有与语言相关的类。java.lang包由解释程序自动加载,不需要用import显示引入。Java语言包(java.lang)定义了Java中的大多数基本类。该包中包含了Object类,Object类是整个类层次结构的根结点,同时还定义了基本数据类型的类,如:String、Boolean、Byter、Short等。这些类支持数字类型的转换和字符串的操作,在前面的章节中已经涉及了部分内容,本章主要介绍该包中的Math类和字符串类。 2)ja

4、va.io包:主要含有与输入/输出相关的类,这些类提供了对不同的输入和输出设备读写数据的支持,这些输入和输出设备包括键盘、显示器、打印机、磁盘文件等。,6,Java常用包的简单介绍如下:,3)java.util包:包括许多具有特定功能的类,有日期、向量、哈希表、堆栈等,其中Date类支持与时间有关的操作。 4)javax.swing包和java.awt包:提供了创建图形用户界面元素的类。通过这些元素,编程者可以控制所写的Applet或Application的外观界面。包中包含了窗口、对话框、菜单等类。,7,Java常用包的简单介绍如下:,5)包:含有与网络操作相关的类,如TCP Sockets

5、、URL等工具。 6)java.applet包:含有控制HTML文档格式、应用程序中的声音等资源的类,其中Applet类是用来创建包含于HTML的Applet必不可少的类。 7)java.beans包:定义了应用程序编程接口(API),Java Beans是Java应用程序环境的中性平台组件结构。,8,5.2 Object类,Object类是Java程序中所有类的直接或间接父类,处在类的最高层次。一个类在声明时若不包含关键字extends,系统就会认为该类直接继承Object类。Object类包含了所有Java类的公共属性和方法,这些属性和方法在任何类中均可以直接使用。 Object类有一个默

6、认构造方法: public Object() /方法体为空 在构造子类实例时,都会先调用这个默认构造方法。,9,Object类中主要的方法如下表所示。,10,Object类的equals方法比较两个对象是否相等,实现对象上差别可能性最大的相等关系;对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true。 下面主要介绍equals方法和getClass方法的使用。,11,1equals方法的使用,class ep5_1_a int x = 1; class ep5_1 public static void main(String args) ep5_1_a

7、 One = new ep5_1_a(); ep5_1_a Two = new ep5_1_a(); String a1, a2, a3 = abc, a4 = abc; a1 = new String(abc); a2 = new String(abc); System.out.println(a1.equals(a2)是 + (a1.equals(a2); System.out.println(a1=a2是 + (a1 = a2); System.out.println(a1.equals(a3)是 + (a1.equals(a3); System.out.println(a1=a3是 +

8、 (a1 = a3); System.out.println(a3.equals(a4)是 + (a3.equals(a4); System.out.println(a3=a4是 + (a3 = a4); System.out.println(One.equals(Two)是 + (One.equals(Two); System.out.println(One=Two是 + (One = Two); One = Two; System.out.println(赋值后,One.equals(Two)是 + (One.equals(Two); System.out.println(赋值后,One=

9、Two是 + (One = Two); ,12,可以看出,对于字符串变量来说,使用“=”运算符和“equals()”方法来比较,其比较方式是不同的。“=”运算符用于比较两个变量本身的值,即两个对象在内存中的首地址;“equals()”方法比较的是两个字符串中所包含的内容是否相同。 对于非字符串类型的变量来说,“=”运算符和“equals()”方法都用来比较其所指对象在堆内存中的首地址,即比较两个类类型的变量是否指向同一个对象。对于a3和a4这两个由字符串常量生成的变量,其所存放的内存地址是相同的。,13,2getClass方法的使用,【例5_2】getClass方法返回调用该方法所属的类。 c

10、lass ep5_2_a protected String name; public ep5_2_a(String a) name = a; class ep5_2 public static void main(String args) ep5_2_a One = new ep5_2_a(abc); Class b = One.getClass(); / 用变量One调用getClass()方法 System.out.println(对象One所属的类为: + b); ,14,5.3 String类和StringBuffer类,String类和StringBuffer类主要用来处理字符串,这

11、两个类提供了很多字符串的使用处理方法。String类是不可变类,一个String对象所包含的字符串内容永远不会被修改(可以重新赋值);而StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内容可以被添加或修改。 String 常量字符串,一旦赋值或实例化后就不可更改。 StringBuffer 可变字符串构造器,如频繁的修改字符串值,可以使用StringBuffer。,15,5.3.1 String类,java. lang包中的String类代表字符串。Java 程序中的所有字符串字面值(如 abc )都作为此类的实例来实现。字符串是常量,它们的值在创建之后不能改

12、变。因为String对象是不可变的,所以可以共享它们。例如: String str = abc; 等效于: char data = a, b, c; String str = new String(data);,16,1String类常用构造方法:,(1)public String():初始化一个新创建的 String 对象,它表示一个空字符序列。 (2)public String(String original):初始化一个新创建的String对象,表示一个与该参数original相同的字符序列;换句话说,新创建的字符串是该参数字符串的一个副本。由于String是不可变的,不必使用该构造方法

13、,除非需要original 的显式副本。,17,(3)public String(char value):分配一个新的 String,它表示当前字符数组参数value中包含的字符序列。该字符数组的内容已被复制;后续对字符数组的修改不会影响新创建的字符串。 (4)public String(char value, int offset, int count):分配一个新的 String,它包含来自该字符数组参数的一个子数组的字符。offset 参数是子数组第一个字符的索引,count 参数指定子数组的长度。该子数组的内容已被复制;后续对字符数组的修改不会影响新创建的字符串。,18,(5)publ

14、ic String(byte bytes):初始化一个新创建的 String 对象,方法是使用平台的默认字符集解码字节的指定数组,参数bytes 表示要解码为字符的字节。 (6)public String(byte bytes, String charsetName):构造一个新的 String,方法是使用指定的字符集解码指定的字节数组。,19,2String类常用方法:,(1)public int length():返回此字符串的长度。 (2)public char charAt(int index):返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。序列的第一

15、个 char 值在索引 0 处,第二个在索引 1 处,依此类推,这类似于数组索引。 (3)public void getChars(int srcBegin,int srcEnd,char dst,int dstBegin):将字符从此字符串复制到目标字符数组。 (4)public boolean equals(Object anObject):比较此字符串与指定的对象。当且仅当该参数不为 null,并且是表示与此对象相同的字符序列的 String 对象时,结果才为 true。,20,5.3.2 StringBuffer类,java.lang包中的StringBuffer类表示可变字符序列。一

16、个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。 StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。,21,1StringBuffer类的常用构造方法,(1)StringBuffer():构造一个其中不带字符的字符串缓冲区,其初始容量为16个字符。

17、 (2)StringBuffer(int capacity):构造一个不带字符,具有指定容量的字符串缓冲区。 (3)StringBuffer(String str):构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。,22,2StringBuffer类的常用方法:,(1)toString():返回此序列中数据的字符串表示形式。 (2)append(boolean b):将 boolean 参数的字符串表示形式追加到序列。 (3)length():返回长度(字符数)。 (4)charAt(int index):返回此序列中指定索引处的 char 值。 (5)setCharAt(int i

18、ndex, char ch):将给定索引处的字符设置为 ch。,23,(6)getChars(int srcBegin, int srcEnd, char dst, int dstBegin):将字符从此序列复制到目标字符数组 dst。 (7)substring(int start):返回一个新的 String,它包含此字符序列当前所包含的字符子序列。 (8)insert(int offset, String str):将字符串插入此字符序列中。,24,【例5-6】一个使用StringBuffer类的例子。,class ep5_6 public static void main(String

19、args) StringBuffer str = new StringBuffer(62791720); str.insert(0, 010-); str.setCharAt(7, 8); str.setCharAt(str.length() - 1, 7); System.out.println(str); str.append(-446); System.out.println(str); str.reverse(); System.out.println(str); ,G:Javajava ep5_6010-62781727-446 644-72718726-

20、010,25,5.3.3 String类和stringBuffer类下字符串的区别,String : 常量字符串,一旦赋值或实例化后就不可更改. 字符串缓冲区支持可变的字符串。 如果对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。,26,5.4基本数据类型的对象类,Java的基本数据包括byte、int、short、long、float、double、char,Java同时也提供了基本数据类型相关的类,Java语言用包装类来把基本类型数据转换为对象。每个Java基本类型在j

21、ava.lang包中都有一个相应的包装类,参见表5-2。,27,表5.2 基本类型与包装类的对应,28,5.4.1 Double类和Float类,Double类和Float类实现了对double和float基本型数据的类包装。 Double 类在对象中包装了一个基本类型 double 的值。每个 Double 类型的对象都包含一个 double 类型的字段。 Double类的构造方法: Double(double num) 构造一个新分配的 Double 对象,它表示基本的 double 参数。此外,该类还提供了多个方法,可以将 double 转换为 String,将 String 转换为 d

22、ouble,还提供了其他一些处理 double 时有用的常量和方法。,29,Float 类在对象中包装了一个 float 基本类型的值。Float 类型的对象包含一个 float 类型的字段。 Float类的构造方法: Float(double value) 构造一个新分配的 Float 对象,它表示转换为 float 类型的参数。此外,此类提供了几种方法,可在 float 类型和 String 类型之间互相转换,并且还提供了处理 float 类型时非常有用的其他一些常量和方法。,30,5.4.2 Byte、Integer、Short、Long类,Byte 类将基本类型 byte 的值包装在一

23、个对象中。 Byte 类的构造方法: Byte(byte value) 构造一个新分配的 Byte 对象,以表示指定的 byte 值。一个 Byte 类型的对象只包含一个类型为 byte 的字段。 此外,该类还为 byte 和 String 的相互转换提供了几种方法,并提供了处理 byte 时非常有用的其他一些常量和方法。,31,Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。 Integer类的构造方法: Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。此外,该类提供了

24、多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。,32,Short 类在对象中包装基本类型 short 的值。一个 Short 类型的对象只包含一个 short 类型的字段。 Short类的构造方法: Short(short value) 构造一个新分配的 Short 对象,用来表示指定的 short 值。另外,该类提供了多个方法,可以将 short 转换为 String,将 String 转换为 short,同时还提供了其他一些处理 short 时有用的常量和方法。,33,Long 类在对象中封装了基本类型 long

25、的值。每个 Long 类型的对象都包含一个 long 类型的字段。 Long类的构造方法: Long(long value) 构造新分配的 Long 对象,表示指定的 long 参数。此外,该类提供了多个方法,可以将 long 转换为 String,将 String 转换为 long,除此之外,还提供了其他一些处理 long 时有用的常量和方法。,34,5.4.3 Character类,Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。 Character 类的构造方法: Character(char value)

26、构造一个新分配的 Character 对象,用以表示指定的 char 值。Character类还提供了几种方法,这些方法可以直接通过类名调用,用来确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。,35,【例5-7】一个字符数组大小写转换的例子。,public class ep5_7 public static void main(String args) char a = a, b, c, D, E, F ; for (int i = 0; i a.length; i+) if (Character.isLowerCase(ai) ai = Character.to

27、UpperCase(ai); else if (Character.isUpperCase(ai) ai = Character.toLowerCase(ai); for (int i = 0; i a.length; i+) System.out.print( + ai); ,36,5.5 Hashtable与Properties类,Java.util包中的Hashtable类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。为了成功地在哈希表中存储和检索对象,用作键的对象必须实现 hashCode 方法和 equals 方法。 Hashtable和Hash

28、Map对象可以让你把一个key和一个value结合起来,并用put() 方法把这对key/value输入到表中。然后你可以通过调用get()方法,把key作为参数来得到这个value(值)。只要满足两个基本的要求,key和value可以是任何对象。,37,为了将一个特定类的对象用做一个key,这个类必须提供两个方法,equals() 和 hashCode()。这两个方法在java.lang.Object中,所以所有的类都可以继承这两个方法; HashCode()方法通过运用对象的内容执行一个哈希函数来生成一个int值。Hashtable和HashMap用这个值来算出一对key/value位于哪

29、个bucket(哈希元)(或列表)中。,38,5.5.2 Properties 类,Java.util.Properties类是设计用于String keys和values。 Java.util 包中的Properties 类表示了一个持久的属性集,该类继承自Hashtable,Properties可保存在流中或从流中加载,属性列表中每个键及其对应值都是一个字符串。 一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。,39,因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和

30、 putAll 方法。但强烈反对使用这两个方法,因为它们允许调用方插入其键或值不是 Strings 的项。相反,应该使用 setProperty 方法。如果在“有危险”的 Properties 对象(即包含非 String 的键或值)上调用 store 或 save 方法,则该调用将失败。 Properties 类的构造方法: Properties() 创建一个无默认值的空属性列表。,40,Properties 类提供了几个主要的方法:,(1)getProperty ( String key),用指定的键在此属性列表中搜索属性。也就是通过参数key,得到key所对应的value。 (2)loa

31、d ( InputStream inStream),从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如说上面的 perties 文件)进行装载来获取该文件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。,41,(3)setProperty ( String key, String value) ,调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置键-值对。 (4)store ( OutputStream out, String comments),以适合使用 load 方法加载到 Properties

32、表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。 (5)clear () ,清除所有装载的 键 - 值对。该方法在基类中提供。,42,5.5.3利用Properties 类读取配置文件信息,各种语言都有自己所支持的配置文件类型 ,在Java中,Java 支持的是.properties文件的读写。JDK内置的java.util.Properties类提供操作.properties文件的便利。,43,【例5_9】一个ep5_9.properties 文件的形式。,# 以下为数据库信息 dbUserNa

33、me = root dbPassword = root # 以下为服务器信息 ip = host = localhost 配置文件名为ep5_9.properties文件。其中#开始的一行为注释信息;在等号“ = ”左边的我们称之为key,等号“ = ”右边的我们称之为 value。其实就是我们常说的键-值对。 Key就是程序中的变量,而value是根据实际情况配置的值。,44,2代码实例,【例5_10】一个使用ep5_9.properties文件的示例。,45,程序的运行结果如下所示: 查看ep5_9.properties配置文件,会发现文件已经被重新覆盖,只有两个键

34、-值对: max=1000 min=10 通过上面的例子不难看出,在Java中操作配置文件是非常简单的。在一个需要用到大量配置信息的模块或系统里,有必要封装一个专门的类来使用配置文件。,46,5.6 System类与Runtime类,Java不支持全局函数和全局变量,Java设计者将一些与系统相关的重要函数和变量收集到了一个System类中,System类中的所有成员都是静态的,当要引用这些变量和方法的时候,直接使用System类名做前缀就可以了。例如以前学习的标准输入和输出。,47,5.6.1 System类,System类中的几个重要的方法: (1)exit(x)方法: 终止当前正在运行的

35、Java虚拟机。参数用作状态码;根据惯例,非0的状态码表示异常终止。事实上要退出Java程序,可以使用destory()退出一个独立运行的过程。 (2)currentTimeMillis方法: System.currentTimeMillis()产生一个当前的毫秒,这个毫秒就是自1970年1月1日0时起的毫秒数。,48,【例5_11】返回自程序开始运行起至当前时间的以毫秒为单位的时间值。这是一个long型的大数值,可以用它来检测运行一段程序时所花费的时间。,public class ep5_11 public static void main(String args) long timeTes

36、tStart = System.currentTimeMillis();/ 记录开始的时间值 System.out.println(欢迎您!); long timeTestEnd = System.currentTimeMillis();/ 记录结束的时间值 System.out.println(运行时间是: + (timeTestEnd - timeTestStart); ,49,5.6.2 Runtime类,Runtime类封装了Java命令本身所启动的实例进程,也就是封装了Java虚拟机进程。一个Java虚拟机对应一个Runtime实例对象。Runtime类中的许多方法和System类中

37、的方法相重复,不能直接创建Runtime的实例对象,也就是不能通过new来创建,只能通过Runtime.getRuntime静态方法来活得Runtime实例对象的引用。,50,Java虚拟机本身就是Windows上的一个进程,这个进程中可以启动其它的windows程序,通过这种方式启动的windows程序实例就称为子进程。Java虚拟机调用Runtime的exec方法可以启动这个子进程,其返回值就是代表子进程的Process对象。,51,【例5_12】在java程序中启动一个windows记事本程序,并在该运行实例中打开这个java程序的源文件,启动的记事本程序在8秒钟后被关闭。,public

38、 class ep5_12 public static void main(String args) Process p = null; try p = Runtime.getRuntime().exec(notepad.exe c:count.txt); / 获得一个Runtime的实例对象并调用exec方法 Thread.sleep(8000); p.destroy(); catch (Exception e) e.printStackTrace(); ,52,5.7 Date与Calendar类,Java语言提供了以下2个类来处理日期。 java.util.Date:包装了一个long类

39、型数据,表示与GMT(格林威治标准时间)的1970年1月1日00:00:00这一刻所相距的毫秒数。 java.util.Calendar:可以灵活地设置或读取日期中的年、月、日、时、分和秒等信息。,53,5.7.1 Date类,java.util包中的Date类表示特定的时间,精确到毫秒。 使用Date类的无参数构造方法Date()创建的对象可以获取本地当前时间。 Date() 分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。,54,在类Date所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式: 年份 y 由整数 (y 1900)表示。 月份由从

40、 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。 日期(一月中的某天)按通常方式由整数 1 至 31 表示。,55,小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点。 分钟按通常方式由 0 至 59 的整数表示。 秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。,56,【例5_13】在下面的例子中,用三种格式输出

41、时间。,import java.util.Date; import java.text.SimpleDateFormat; class ep5_13 public static void main(String args) Date nowTime = new Date(); System.out.println(nowTime); SimpleDateFormat matter1 = new SimpleDateFormat( time:yyyy年MM月dd日E 北京时间); System.out.println(matter1.format(nowTime); SimpleDateForm

42、at matter2 = new SimpleDateFormat( 北京时间:yyyy年MM月dd日HH时mm分ss秒); System.out.println(matter2.format(nowTime); Date date1 = new Date(1000), date2 = new Date(-1000); System.out.println(matter2.format(date1); System.out.println(matter2.format(date2); System.out.println(new Date(System.currentTimeMillis();

43、 ,G:Javajava ep5_13 Tue Feb 23 21:59:22 CST 2010 time:2010年02月23日星期二 北京 北京时间:2010年02月23日21时59分 北京时间:1970年01月01日08时00分 北京时间:1970年01月01日07时59分 Tue Feb 23 21:59:22 CST 2010,57,5.7.2 Calendar类,java.util.Calendar类是一个抽象类。它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些

44、方法。 抽象类不能采用new实例化,但我们可以使用Calendar类的static方法getInstance()初始化一个日历对象,如: Calendar calendar = Calendar.getInstance();,58,set()和get()方法可用来设置和读取日期的特定部分,比如年、月、日、时、分和秒等。上面的calendar对象可以调用方法: public final void set(int year, int month, int date); public final void set(int year, int month, int date, int hourOfDa

45、y, int minute); public final void set(int year, int month, int date, int hourOfDay, int minute, int second);,59,将日历翻到任何一个时间,参数year取负数时表示公元前。 calendar对象调用方法: public int get(int field); 可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如: calendar.get(Calendar.MONTH); 返回一个整数,如果该整数是0表示当前日历是在一月,该整数是1表示当

46、前日历是在二月等。,60,calendar对象调用方法: public long getTimeInMillis(); 返回此calendar 的时间值,以毫秒为单位。,61,5.8 Math与Random类,java.lang包中的Math 类也称数学类,是一个工具类,它在解决与数学有关的一些问题是有着非常重要的作用。Math 类包含许多用来进行科学计算的类方法,涉及大多数学函数,如sin、cos、exp、abs等,这些方法可以直接通过类名调用。Math类还提供了Math.PI和Math.E两个静态数学常量:E和PI。它们的值分别为2.7182828284590452354和3.141592

47、65358979323846,该类是final的,不能被继承,类中的方法和属性全部是静态,不允许在类的外部创建Math类的对象。因此,只能使用Math类的方法而不能对其作任何更改。,62,5.8.1 Math类,63,使用这些方法时,用法为Math.* (*为方法名)。用法如: int a=Math.abs(124); int b=Math.floor(-5.2); double s=Math.sqrt(7);,64,【例5-15】Math类主要方法的举例。,class ep5_15 public static void main(String args) System.out.println(Pi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论