Java API教学ppt课件Java程序设计案例教程.pptx

上传人:春哥&#****71; 文档编号:87080898 上传时间:2023-04-16 格式:PPTX 页数:151 大小:12.98MB
返回 下载 相关 举报
Java API教学ppt课件Java程序设计案例教程.pptx_第1页
第1页 / 共151页
Java API教学ppt课件Java程序设计案例教程.pptx_第2页
第2页 / 共151页
点击查看更多>>
资源描述

《Java API教学ppt课件Java程序设计案例教程.pptx》由会员分享,可在线阅读,更多相关《Java API教学ppt课件Java程序设计案例教程.pptx(151页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Java API 教学课件Java程序设计案例教程5.1.1 什么是APIAPI(Application Programming Interface)指的是应用程序编程接口。假设使用 Java语言编写一个机器人程序去控制机器人踢足球,程序就需要向机器人发出向前跑、向后跑、射门、抢球等各种命令,没有编过程序的人很难想象这样的程序该如何编写。但是对于有经验的开发人员来说,知道机器人厂商一定会提供一些用于控制机器人的 Java类,这些类中定义好了操作机器人各种动作的方法。其实,这些 Java 类就是机器人厂商提供给应用程序编程的接口,通常把这些类称为 API。本章涉及的 Java API 指的就是J

2、DK 中提供的各种功能的 Java 类。5.1.1 什么是API简单来说,我们主要学习的是 Java 官方给我们提供好的一些类。在这些类里面有对应不同的方法,可以去实现不同的功能。所以 API 的学习思路是这样的,有一些类我们想要调用人家写好的方法,那么前提条件是要有对象,所以首先要学习这些类有哪些构造方法,通过构造方法先创建对象,有了这些对象以后再去调用这些类的成员方法。总之,Java API 就是 Java 提供给我们使用的类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用。API使用步骤分为以下几步:(1)打开帮助文档。本教材提供 1 个帮助文档

3、“jdk api 1.8_google.CHM”。打开该帮助文档,如右图。5.1.2 API使用步骤(2)找到索引,看到搜索框,如下图。5.1.2 API使用步骤(3)你要学习什么内容,就在搜索框里面输入什么内容。以 Random 类举例,在搜索框中输入“Random”,然后回车,如右图。5.1.2 API使用步骤(4)看包。java.lang 包下的类在使用的时候是不需要导包的。其他包都需要导包。5.1.2 API使用步骤如上图所示,Random 是在 util 包下,因此在使用该类时,需要导包。在类之前需要书写如下代码,格式如下:import java.util.Random5.1.2 A

4、PI使用步骤(5)看类的描述。Random 类是用于生成随机数的类。5.1.2 API使用步骤(6)看构造方法。如下图。5.1.2 API使用步骤如上图,有 2 个构造方法,一个是无参构造,另一个是带参构造。说明有 2 种创建对象的方式,其中无参构造是创建一个新的随机生成器,带参构造是使用单个 long 种子创建的一个新的随机生成器。接下来使用无参的构造创建对象,格式如下:Random r=new Random();5.1.2 API使用步骤(7)看成员方法。成员方法有很多,接下来以一个方法举例,如下图。5.1.2 API使用步骤(7)由上图可知,首先要了解该方法的功能,该方法是用来产生一个包

5、含 0,不包含指定值的随机数,即产生 0,bound)之间的随机数。在调用方法时,需要看以下几点:1)看返回值类型:人家返回什么类型,你就用什么类型接收。2)看方法名:名字不要写错了。3)看形式参数:人家要几个参数,你就给几个,人家要什么数据类型,你就给什么数据类型。5.1.2 API使用步骤看完上述 3 点,编写出如下代码:int number=r.nextInt(100);显然,上述代码产生一个 0,100)之间的随机数。至此,API 的使用已经讲完了,之后,我们在学习使用一个类的时候,就可以根据上面的 7 个步骤进行。详细的 Random 代码可以参考 5.4.2 节中的 Random

6、类的具体讲解。5.1.2 API使用步骤5.2 字符串类在程序开发中经常会用到字符串,所谓字符串就是指一连串的字符,它是由许多单个字符连接而成的,如多个英文字母所组成的一个英文单词。字符串中可以包含任意字符,这些字符必须包含在一对双引号“”之内,例如“abc”。Java中定义了三个封装字符串的类,分别是String、StringBuffer和StringBuilder,它们位于java.lang包中,并提供了一系列操作字符串的方法,这些方法不需要导包就可以直接使用。5.2.1 String类的初始化在使用 String 类进行字符串操作之前,首先需要对 String 类进行初始化。在 Java

7、 中可以通过以下两种方式对 String 类进行初始化:(1)使用字符串常量直接初始化一个 String 对象,具体代码如下:String str1=abc;由于 String 类比较常用,所以提供了这种简化的语法,用于创建并初始化 String 对象,其中 abc 表示一个字符串常量。5.2.1 String类的初始化(2)使用 String 类的构造方法初始化字符串对象。String 类的常见构造方法见下表。5.2.1 String类的初始化接下来通过一个案例学习String类的使用。5.2.1 String类的初始化程序运行结果如下图。由运行结果可知,“+”运算符在字符串中起到连接的作用

8、。另外,字符串是一种特殊的引用数据类型,直接输出字符串对象就是输出该对象的数据。5.2.2 String类的常见操作在实际开发中,String 类的应用非常广泛,灵活运用 String 类是非常重要的。接下来,我们来学习 String 类的成员方法。打开 API 文档,如右图。5.2.2 String类的常见操作上图只列举了 String 类的部分成员方法,String 类还有很多成员方法。如果按照API 文档一个一个从头往下学习成员方法,相信很多同学都已经混乱了,因为方法太多了,很难全部记住。为了帮助大家更好地记忆和使用这些方法,这里将一些重要的方法分为 4 类进行讲解。5.2.2 Stri

9、ng类的常见操作1字符串的判断操作操作字符串时,经常需要对字符串进行一些判断,如判断字符串是否以指定的字符串开始、结束,是否包含指定的字符串,字符串是否为空等。5.2.2 String类的常见操作字符串常用的判断方法见下表。5.2.2 String类的常见操作接下来通过一个案例来演示字符串的判断操作:5.2.2 String类的常见操作程序运行结果如下图。5.2.2 String类的常见操作在程序中可以通过“=”和equals()两种方式对字符串进行比较,但这两种方式有明显的区别。equals()方法用于比较两个字符串中的字符是否相等,=方法用于比较两个字符串对象的地址是否相同。也就是说,对于

10、两个内容完全一样的字符串对象,使用equals判断的结果是true,使用=判断的结果是false。5.2.2 String类的常见操作String str1=new String(abc);String str2=new String(abc);/结果为false,因为str1和str2是两个对象System.out.println(str1=str2);/结果为true,因为str1和str2字符内容相同System.out.println(str1.equals(str2);5.2.2 String类的常见操作2字符串的获取功能在Java程序中,需要对字符串进行一些获取的操作,如获得字符串

11、长度、获得指定位置的字符等。5.2.2 String类的常见操作字符串常用的获取方法见下表。5.2.2 String类的常见操作接下来通过一个案例来学习字符串的获取方法:5.2.2 String类的常见操作程序运行结果如下图。5.2.2 String类的常见操作3字符串的转换操作程序开发中,经常需要对字符串进行转换操作。例如,将字符串转换成数组的形式,将字符串中的字符进行大小写转换等。5.2.2 String类的常见操作字符串常用的转换方法见下表。5.2.2 String类的常见操作接下来通过一个案例来学习字符串的转换方法:5.2.2 String类的常见操作程序运行结果如下图。静态方法 va

12、lueOf()方法将一个 int 类型的整数转换为字符串。如果今后对整数操作比较麻烦,可以先将其转换为字符串,然后调用字符串的一些成员方法即可。5.2.2 String类的常见操作4.字符串类的替换、去除空格以及分割操作程序开发中,经常会对字符串进行一些替换和去除多余空格,以及分割等操作,方法见下表。5.2.2 String类的常见操作5.2.2 String类的常见操作程序运行结果如下图。5.2.2 String类的常见操作trim()方法只能去除两端的空格,不能去除中间的空格。若想去除字符串中间的空格,需要调用String类的replace()方法。注 意【任务5-1】模拟用户登录在使用一

13、些 App 时,通常都需要填写用户名和密码。用户名和密码输入都正确才会登录成功,否则会提示用户名或密码错误。本任务要求编写一个程序,模拟用户登录。程序要求如下:(1)用户名和密码正确,提示登录成功。(2)用户名或密码不正确,提示“用户名或密码错误”。(3)总共有 3 次登录机会,在 3 次内(包含 3 次)输入正确的用户名和密码后给出登录成功的相应提示。超过 3 次用户名或密码输入有误,则提示登录失败,无法再继续登录。【任务5-2】字符串拼接本任务要求编写一个程序,将数组按照指定格式拼接成字符串。例如,给定数组arr=1,2,3,将其拼接成 1,2,3。5.2.3 StringBuffer类由

14、于字符串是常量,因此一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串,既耗时又浪费空间。为了对字符串进行修改,Java 提供了一个 StringBuffer 类(也称字符串缓冲区)。StringBuffer 类和 String 类最大的区别在于它的内容和长度都是可以改变的。StringBuffer 类似一个字符容器,当在其中添加或删除字符时,并不会产生新的 StringBuffer 对象。5.2.3 StringBuffer类StringBuffer类的常见的构造方法如下表。5.2.3 StringBuffer类StringBuffer类的常见的成员方法如

15、下表。5.2.3 StringBuffer类接下来通过一个案例学习StringBuffer类的常用方法。5.2.3 StringBuffer类5.2.3 StringBuffer类程序运行结果如下图。5.2.3 StringBuffer类StringBuffer 类和 String 类有很多相似之处,初学者在使用时很容易混淆。接下来针对这两个类进行对比,简单归纳一下两者的不同,具体如下:(1)String 类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的(如果使用 String 类改变字符串内容,则需要重新创建对象)。而 StringBuffer 表示字符容器,其内容和长度可以随时修

16、改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用String 类即可,但是如果需要对字符串中的字符进行增删操作,则使用 StringBuffer 类。5.2.3 StringBuffer类(2)String 类覆盖了 Object 类的 equals()方法,而 StringBuffer 类没有覆盖 Object 类的 equals()方法,具体示例如下:5.2.3 StringBuffer类(3)String 类对象可以用操作符“+”进行连接,而 StringBuffer 类对象之间不能,具体示例如下:5.2.4 StringBiuld类StringBuilder类和StringB

17、uffer类、String类有很多相似之处,初学者在使用时很容易混淆。接下来针对这三个类进行对比,简单归纳一下三者的不同。5.2.4 StringBiuld类StringBuilder类也可以对字符串进行修改。StringBuffer类和StringBuilder类的对象都可以被多次修改,并不产生新的未使用对象。StringBuilder类是JDK5中新加的类,它的使用方式,包括类中的成员方法,和StringBuffer都是完全一样的,然而,它与StringBuffer之间最大不同在于StringBuilder的方法是非线程安全的,也就是说StringBuffer不能被同步访问,而String

18、Builder可以。简而言之,如果是在多线程的环境下我们使用StringBuilder做字符串的拼接效率会更高一些,如果考虑多线程数据安全的情况,我们使用StringBuffer类。5.2.4 StringBiuld类下面通过一个案例对比StringBuilder和StringBuffer的运行效率。5.2.4 StringBiuld类程序运行结果如下图。从图5-17的运行结果可以看出三者的工作效率为StringBuilderStringBufferString。【任务5-3】模拟默认密码自动生成本例要求编写一个程序,模拟默认密码的自动生成策略,手动输入用户名,根据用户名自动生成默认密码。在生

19、成密码时,将用户名反转即为默认的密码。5.3 System类System 类对大家来说并不陌生,因为在之前所学知识中,需要打印结果时,使用的都是“System.out.println();”语句,这句代码中就使用了 System 类。System 类定义了一些与系统相关的属性和方法,它所提供的属性和方法都是静态的,因此,想要引用这些属性和方法,直接使用 System 类调用即可,所以对于 System 类来说,我们不需要学习它的构造方法。5.3 System类System类的常用方法如下表。5.3 System类1exit()方法该方法用于终止JVM。如果说Java虚拟机退出了,那么意味着整个

20、程序也就整个结束掉了。传入参数status的值,如果是0,表示程序正常终止,否则表示非正常终止。对于我们自己使用这个方法,一般参数就传入为0,代表通知Java虚拟机以正常的形式来结束程序。5.3 System类接下来通过一个案例来演示一下:5.3 System类运行结果如下:由运行结果可以看出,exit()方法之后的代码并没有执行。5.3 System类2currentTimeMillis()方法currentTimeMillis()方法用于获取当前系统的时间,返回值是long类型的值,该值表示当前时间与1970年1月1日0点0分0秒之间的时间差,单位是毫秒,通常也将该值称作时间戳。5.3 S

21、ystem类接下来通过一个for循环的求和的案例计算程序运行时所消耗的时间。5.3 System类程序运行结果如下图。5.3 System类3arraycopy()方法arraycopy()方法用于将数组从源数组复制到目标数组,声明格式如下:static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)5.3 System类关于声明格式中参数的相关介绍如下:src:表示源数组。dest:表示目标数组。srcPos:表示源数组中拷贝元素的起始位置。destPos:表示拷贝到目标数组的起始位置。leng

22、th:表示拷贝元素的个数。5.3 System类在进行数组复制时,目标数组必须有足够的空间来存放拷贝的元素,否则会发生角标越界异常。注 意5.3 System类接下来通过一个案例演示数组元素的拷贝。5.3 System类程序运行结果如下图。5.3 System类上述代码中,第34行代码创建了两个数组fromArray和toArray,分别代表源数组和目标数组,第5行代码中当调用arraycopy()方法进行元素拷贝时,由于指定了从源数组中索引为2的元素开始拷贝,并且拷贝4个元素存放在目标数组中索引为3的位置,因此,在打印目标数组的元素时,程序首先打印的是数组toArray的前三个元素20、21

23、、22,然后打印的是从fromArray中拷贝的四个元素12、13、14、15。5.3 System类4getProperties()和getProperty()方法System类的getProperties()方法用于获取当前系统的全部属性,该方法会返回一个Properties对象,其中封装了系统的所有属性,这些属性是以键值对形式存在的。getProperty()方法用于根据系统的属性名获取对应的属性值。5.3 System类下面通过一个案例来演示getProperties和getProperty()方法的使用。5.3 System类运行结果如下所示。5.3 System类上述代码中,第5行

24、代码通过System的getProperties()方法获取了系统的所有属性,第7行代码通过Properties的propertyNames()方法获取所有的系统属性的key,并使用名称为propertyNames的Enumeration对象接受获取到的key值,第814行代码对Enumeration对象进行迭代循环,通过Enumeration的nextElement()方法获取系统属性的key,再通过System的getProperty(key)方法获取当前key对应的value,最后将所有系统属性的键以及对应的值打印出来。5.3 System类从运行结果中可以看出,这些系统属性包括虚拟机版

25、本号,用户的国家、操作系统的版本等。关于集合将在下一章进行讲解,在这里读者只需知道通过System.getProperties()方法可以获得系统属性和通过System.getProperty()方法可以根据系统属性名获得系统属性值即可。5.3 System类5gc()方法在Java中,当一个对象成为垃圾后仍会占用内存空间,时间一长,就会导致内存空间的不足。针对这种情况,Java中引入了垃圾回收机制。有了这种机制,程序员不需要过多关心垃圾对象回收的问题,Java虚拟机会自动回收垃圾对象所占用的内存空间。5.3 System类一个对象在成为垃圾后会暂时地保留在内存中,当这样的垃圾堆积到一定程度时

26、,Java虚拟机就会启动垃圾回收器将这些垃圾对象从内存中释放,从而使程序获得更多可用的内存空间。除了等待Java虚拟机进行自动垃圾回收外,还可以通过调用System.gc()方法通知Java虚拟机立即进行垃圾回收。当一个对象在内存中被释放时,它的finalize()方法会被自动调用,因此可以在类中通过定义finalize()方法观察对象何时被释放。5.3 System类接下来通过一个案例演示Java虚拟机进行垃圾回收的过程。5.3 System类程序运行结果如下图。从结果可以看出,虚拟机针对两个垃圾对象进行了回收,并在回收之前分别调用两个对象的finalize()方法。5.4.1 Math类M

27、ath 类提供了大量的静态方法来便于我们实现数学计算,如求绝对值、取最大或最小值等。Math 类的所有方法都是静态方法,因此这些成员方法直接可以使用类名进行调用,构造方法被私有化了,而且不需要学习 Math 类的构造方法。5.4.1 Math类Math 类的常用方法见下表。5.4.1 Math类5.4.1 Math类程序运行结果如下图。5.4.2 Random类Java的java.util包中有一个Random类,它可以在指定的取值范围内随机产生数字。Random类中提供了两个构造方法如下表。方法声明方法声明功能描述功能描述Random()构造方法,用于创建一个伪随机数生成器Random(lo

28、ng seed)构造方法,使用一个long型的seed种子创建伪随机数生成器5.4.2 Random类表中 Random 类的两个构造方法,其中第一个构造方法是无参的,通过它创建的Random 实例对象每次使用的种子是随机的,因此每个对象所产生的随机数不同。如果希望创建的多个 Random 实例对象产生相同的随机数,则可以在创建对象时调用第二个构造方法,传入相同的参数即可。5.4.2 Random类接下来先采用第一种构造方法来产生随机数。5.4.2 Random类第一次运行结果如下图。第二次运行结果如下图。5.4.2 Random类从两次运行结果可知,两次产生的随机数序列是不一样的。这是因为当

29、创建Random的实例对象时,没有指定种子,系统会以当前时间戳作为种子,产生随机数。5.4.2 Random类接下来采用第二种构造方法产生随机数。5.4.2 Random类第一次运行结果如下图。第二次运行结果如下图。5.4.2 Random类由上图这两次运行结果可以看出,创建Random类实例对象时,如果指定了相同的种子,则每个实例对象产生的随机数相同。5.4.2 Random类相对于Math的random()方法而言,Random类提供了更多的方法来生成各种伪随机数,不仅可以生成整数类型的随机数,还可以生成浮点类型的随机数。Random类常用的方法如下表。5.4.2 Random类接下来通过

30、一个案例学习这些方法的使用。5.4.2 Random类程序运行结果如下图。5.5 包装类Java是一种面向对象的语言,Java中的类可以把方法与数据连接在一起,但是Java语言中却不能把基本的数据类型作为对象来处理。而某些场合下可能需要把基本数据类型的数据作为对象来使用,为了解决这样的问题,JDK中提供了一系列的包装类,可以把基本数据类型的值包装为引用数据类型的对象,在Java中,每种基本类型都有对应的包装类。5.5 包装类基本数据基本数据类型型对应的包装的包装类byteBytecharCharacterintIntegershortShortlongLongfloatFloatdoubleD

31、oublebooleanBoolean各种基本类型都有对应的包装类。5.5 包装类包装类和基本数据类型在进行转换时,引入了装箱和拆箱的概念,其中装箱是指将基本数据类型的值转为引用数据类型,反之,拆箱是指将引用数据类型的对象转为基本数据类型。5.5 包装类接下来以int类型的包装类Integer为例,通过一个案例演示装箱与拆箱的过程。5.5 包装类程序运行结果如下图。5.5 包装类通过查看 API 文档可以知道,Integer 类除了具有 Object 类的所有方法外,还有一些特有的构造方法,如下表。5.5 包装类根据上表中的 Integer 的构造方法演示如下案例:5.5 包装类程序运行结果如

32、下图。5.5 包装类上述代码中,通过 Integer 的第一个构造方法将 int 类型转换为 Integer 类型,即手动装箱。通过 Integer 的第二个构造方法将 String 类型转换为 Integer 类型。值得注意的是,参数传入的只能是数字字符串不能是其他字符串。5.5 包装类通过查看 API 文档可以知道,Integer 类除了具有 Object 类的所有方法外,还有一些特有的成员方法,如下表。5.5 包装类接下来,再通过一个案例演示上表中的 Integer 的成员方法:5.5 包装类程序运行结果如下图。5.5 包装类上述代码演示了手动拆箱的过程,Integer 对象通过调用 i

33、ntValue()方法,将 Integer对象转为 int 类型。valueOf()方法将 int 类型的值转为 Integer 的实例,也可用来手动装箱。Integer 对象通过调用包装类 Integer 的 parseInt()方法将字符串转为整数,将字符串转为 int 类型,从而可以与 int 类型的常量 32 进行加法运算。5.5 包装类使用包装类时,需要注意以下几点:(1)包装类都重写了Object类中的toString()方法,以字符串的形式返回被包装的基本数据类型的值。5.5 包装类(2)除了Character外,包装类都有valueOf(String s)方法,可以根据Stri

34、ng类型的参数创建包装类对象,但参数字符串s不能为null,而且字符串必须是可以解析为相应基本类型的数据,否则虽然编译通过,但运行时会报错。具体示例如下:Integer i=Integer.valueOf(123);/合法Integer i=Integer.valueOf(12a);/不合法5.5 包装类(3)除了Character外,包装类都有parseXxx(String s)的静态方法,将字符串转换为对应的基本类型的数据。参数s不能为null,而且同样字符串必须可以解析为相应基本类型的数据,否则虽然编译通过,但运行时会报错。具体示例如下:int i=Integer.parseInt(12

35、3);/合法 Integer in=Integer.parseInt(itcast);/不合法 5.6 日期时间类在程序开发中经常需要处理日期和时间,Java 提供了一套专门用于处理日期时间的API,在日期时间类中了包含 Instant 类、LocalDate 类、LocalTime 类、Duration 类以及Period 类等,这些类都包含在 java.time 包中。5.6.1 Instant类Instant 类代表的是某个时间。其内部是由两个Long字段组成,第一部分保存的是标准Java计算时代(就是1970年1月1日开始)到现在的秒数,第二部分保存的是纳秒数。5.6.1 Instan

36、t类Instant 针对时间的获取、比较与计算提供了一系列的方法,其常用方法见下表。5.6.1 Instant类上表中列出了 Instant 的一系列常用方法,对于初学者来说比较难理解。下面通过一个案例学习上表中常用方法的具体使用:程序运行结果如下图。5.6.1 Instant类由上图的运行结果看出,instant1打印出的时间和当前的时间相差8个小时,这是因为运行结果的时间的世界时间。instant4对象中“1970-0101T00:00:01.1Z”,其中这个T相当于分隔符,用来分割年月日和时分秒的,这个大写的Z代表的是世界标准时间,0时0分1秒,这个秒的后面还有一个小数位,1个小位数就表

37、示是十分之一秒。最后输出的这个1亿纳秒,是抛开整秒数不算,获取的是秒后面的小数点秒数,也就是十分之一秒。5.6.1 Instant类5.6.2 LocalData类LocalDate 类仅用来表示日期。通常表示的是年月日,该类不能代表时间线上的即时信息,只是日期的描述。LocateDate 常用的方法较多,可以分以下几类讲解。1.获取日期对象获取日期对象的相关方法见下表。5.4.2 LocalData类接下来通过一个案例来学习这些方法的使用。5.4.2 LocalData类5.4.2 LocalData类程序运行结果如下图。5.6.2 LocalData类2.获取日期字段获取日期字段的相关方法

38、见下表。5.4.2 LocalData类接下来通过一个案例来学习这些方法的使用。5.4.2 LocalData类程序运行结果如下图。5.6.2 LocalData类3.获取判断相关方法获取判断的相关方法见下表。5.4.2 LocalData类接下来通过一个案例来学习这些方法的使用。5.4.2 LocalData类程序运行结果如下图。5.6.2 LocalData类4.增加或减少日期相关方法 增加或减少日期的相关方法见下表。5.4.2 LocalData类接下来通过一个案例来学习这些方法的使用。5.4.2 LocalData类程序运行结果如下图。5.6.2 LocalData类5.减少或增加日期

39、相关方法 减少或增加日期的相关方法见下表。5.4.2 LocalData类接下来通过一个案例来学习这些方法的使用。5.4.2 LocalData类程序运行结果如下图。由上图 运行结果可知,这一系列的方法和第 4 个 puls 方法都是相似的,推荐大家记住第 4 个方法 plus 系列的方法,不管是向后加还是向前减,都取决于 plus 参数后面相关的正负数。5.6.2 LocalData类6.直接修改日期相关方法直接修改日期相关方法见下表。5.6.2 LocalData类接下来通过一个案例来学习这些方法的使用。5.6.2 LocalData类程序运行结果如下图。5.6.3 LocalTime类与

40、LocalDataTime类1.LocalTime 类LocalTime 类用来表示时间,通常表示的是小时分钟秒。与 LocalData 类一样,该类不能代表时间线上的即时信息,只是时间的描述。在 LocalTime 类中提供了获取时间对象的方法,与 LocalData 用法类似。同时,LocalTime 类也提供了与日期类相对应的时间格式化、增减时分秒等常用方法,这些方法与日期类相对应,这里不再详细列举。5.6.3 LocalTime类与LocalDataTime类接下来我们通过一个案例来学习一下LocalTime类的方法。5.6.3 LocalTime类与LocalDataTime类5.6

41、.3 LocalTime类与LocalDataTime类程序运行结果如下图。由上述案例可以看出,LocalTime 类的方法的使用与 LocalDate 基本一样。5.6.3 LocalTime类与LocalDataTime类2.LocalDateTime 类LocalDataTime 类是 LocalData 类与 LocalTime 类的综合,它既包含日期也包含时间,通过查看 API 可以知道,LocalDataTime 类中的方法包含了 LocalData 类与 LocalTime 类的方法。需要注意的是,LocalDateTime 默认的格式是 2020-02-29T21:23:26.

42、774,这可能与我们经常使用的格式不太符合,所以它经常和 DateTimeFormatter 一起使用指定格式。5.6.3 LocalTime类与LocalDataTime类另外,LocalData Time 除了拥有 LocalData 与 LocalTime 类中的方法,额外还有转换的方法,如下:5.6.3 LocalTime类与LocalDataTime类接下来我们通过一个案例来学习一下LocalDataTime类的特有方法。5.6.3 LocalTime类与LocalDataTime类程序运行结果如下图。5.6.4 Period和Duration类1.Duration类Duration

43、类基于时间值,其作用范围是天、时、分、秒、毫秒和纳秒,Duration类的常用方法如下表。5.4.4 Period和Duration类接下来通过一个案例讲解Duration类中常用方法的使用。5.4.4 Period和Duration类程序运行结果如下图。5.6.4 Period和Duration类2.Period类Period 类主要用于计算两个日期的间隔,与 Duration 类相同,也是通过 between 计算日期间隔,并提供了获取年月日的三个常用方法,分别是 getYears()、getMonths()和getDays()。Period 类的常用方法见下表。5.4.4 Period和

44、Duration类接下来通过一个案例讲解Duration类中常用方法的使用。5.4.4 Period和Duration类程序运行结果如下图。【任务5-4】二月天二月是一个有趣的月份,平年的二月有28天,闰年的二月有29天。闰年每四年一次,在判断闰年时,可以使用年份除以4,如果能够整除,则该年是闰年。本例要求编写一个程序,从键盘输入年份,根据输入的年份计算这一年的2月有多少天。在计算二月份天数时,可以使用日期时间类的相关方法实现。5.7 本章小结本章详细介绍了 Java API 的基础知识。首先介绍了 API 文档以及 API 文档的使用;其次从 String 类、StringBuffer 类和 StringBuilder 类这三个类的使用上介绍了字符串类;接着介绍了 System 类的使用;然后介绍了 Math 类与 Random 类的使用;最后介绍了基本类型所对应的包装类以及日期时间相关的类。深入理解 Java API,对以后的实际开发大有裨益。

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com