java演示_【JAVA常用类演示】

一、java.lang.System类。

public final class Systemextends Object

该类包含一些有用的类字段和方法。它不能被实例化。

在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。

1. currentTimeMillis方法。

该方法返回当前系统时间的毫秒值。

long currentTime=System.currentTimeMillis();

System.out.println(currentTime);//获取当前时间到1970.1.1 午夜的毫秒值。

2.重点方法:getProperties、getProperty与setProperty方法。

public static Properties getProperties()

public static String getProperty(String key)

public static String getProperty(String key,String def)

public static void setProperties(Properties props)

前三个方法是用于获取系统属性的方法,第一个方法是获取全部属性的方法,第二个方法和第三个方法是根据key获取某一种系统属性的方法。

第四个方法是向系统属性集中添加指定的系统属性(键值对)。

Properties是HashTable的子类,所以它存放的也是键值对。但是它不带有泛型,而且有自己的遍历方式:

通过stringPropertyName()方法获得键的Set集合。

public Set stringPropertyNames()

通过getProperty方法根据键获得值。

示例代码:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagep01.OftenUseClass.p01.SystemDemo;2

3 importjava.util.Properties;4 importjava.util.Set;5

6 public classSystemDemo {7

8 public static voidmain(String[] args) {9 //currentMillisDemo();

10 getPropertiesDemo();11 newLine();12 getSinglePropertyDemo();13 newLine();14 setPropertyDemo();15 }16

17 private static voidnewLine() {18 for(int i=1;i<=100;i++)19 System.out.print("-");20 System.out.println();21 }22

23 private static voidsetPropertyDemo() {24 System.setProperty("mykey", "myvalue");25 getPropertiesDemo();26 }27

28 /*

29 * 获取当前系统的一个属性30 */

31 private static voidgetSinglePropertyDemo() {32 String file_seperator=System.getProperty("file.separator");33 System.out.println("文件分隔符是:"+file_seperator);34 }35

36 /*

37 * 获取当前系统属性。38 */

39 private static voidgetPropertiesDemo() {40 Properties pro=System.getProperties();41 Setset=pro.stringPropertyNames();42 for(String key:set)43 {44 String value=pro.getProperty(key);45 System.out.println(key+": "+value);46 }47 }48

49 /*

50 * 获取当前时间。51 */

52 private static voidcurrentMillisDemo() {53 long currentTime=System.currentTimeMillis();54 System.out.println(currentTime);//获取当前时间到1970.1.1 午夜的毫秒值。

55 }56

57 }

View Code

运行结果:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 java.runtime.name: Java(TM) SE Runtime Environment2 sun.boot.library.path: C:\Program Files\Java\jre8\bin3 java.vm.version: 25.0-b704 java.vm.vendor: Oracle Corporation5 java.vendor.url: http://java.oracle.com/6 path.separator: ;7 java.vm.name: Java HotSpot(TM) Client VM8 file.encoding.pkg: sun.io9 user.script:10 user.country: CN11 sun.java.launcher: SUN_STANDARD12 sun.os.patch.level: Service Pack 113 java.vm.specification.name: Java Virtual Machine Specification14 user.dir: E:\Eclipse SE 工作空间\IOStream15 java.runtime.version: 1.8.0-b13216 java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment17 java.endorsed.dirs: C:\Program Files\Java\jre8\lib\endorsed18 os.arch: x8619 java.io.tmpdir: C:\Users\KUANGD~1\AppData\Local\Temp\20 line.separator:21

22 java.vm.specification.vendor: Oracle Corporation23 user.variant:24 os.name: Windows 725 sun.jnu.encoding: GBK26 java.library.path: C:\Program Files\Java\jre8\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:/Program Files/Java/jre8/bin/client;C:/Program Files/Java/jre8/bin;C:/Program Files/Java/jre8/lib/i386;D:\MyPHPEnvironment\Apache\bin;D:\Android开发\adt-bundle-windows-x86-20140321\adt-bundle-windows-x86-20140321\sdk\platform-tools;D:\Android开发\adt-bundle-windows-x86-20140321\adt-bundle-windows-x86-20140321\sdk\tools;c:\Windows\System32;C:\Program Files\Java\jdk1.8.0\bin;C:\Program Files\Java\jdk1.8.0\jre\bin;C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\MySQL\MySQL Utilities 1.3.5\;D:\masm;D:\应用程序扩展\VC++ 6.0\Tools\WinNT;D:\应用程序扩展\VC++ 6.0\MSDev98\Bin;D:\应用程序扩展\VC++ 6.0\Tools;D:\应用程序扩展\VC98\bin;C:\Program Files\SSH Communications Security\SSH Secure Shell;D:\Program Files\Eclipse SE\eclipse;;.27 java.specification.name: Java Platform API Specification28 java.class.version: 52.029 sun.management.compiler: HotSpot Client Compiler30 os.version: 6.131 user.home: C:\Users\kuangdaoyizhimei32 user.timezone:33 java.awt.printerjob: sun.awt.windows.WPrinterJob34 file.encoding: GBK35 java.specification.version: 1.836 user.name: kuangdaoyizhimei37 java.class.path: E:\Eclipse SE 工作空间\IOStream\bin38 java.vm.specification.version: 1.839 sun.arch.data.model: 3240 java.home: C:\Program Files\Java\jre841 sun.java.command: p01.OftenUseClass.p01.SystemDemo.SystemDemo42 java.specification.vendor: Oracle Corporation43 user.language: zh44 awt.toolkit: sun.awt.windows.WToolkit45 java.vm.info: mixed mode, sharing46 java.version: 1.8.047 java.ext.dirs: C:\Program Files\Java\jre8\lib\ext;C:\windows\Sun\Java\lib\ext48 sun.boot.class.path: C:\Program Files\Java\jre8\lib\resources.jar;C:\Program Files\Java\jre8\lib\rt.jar;C:\Program Files\Java\jre8\lib\sunrsasign.jar;C:\Program Files\Java\jre8\lib\jsse.jar;C:\Program Files\Java\jre8\lib\jce.jar;C:\Program Files\Java\jre8\lib\charsets.jar;C:\Program Files\Java\jre8\lib\jfr.jar;C:\Program Files\Java\jre8\classes49 java.vendor: Oracle Corporation50 file.separator: \51 java.vendor.url.bug: http://bugreport.sun.com/bugreport/52 sun.cpu.endian: little53 sun.io.unicode.encoding: UnicodeLittle54 sun.desktop: windows55 sun.cpu.isalist: pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i8656 ----------------------------------------------------------------------------------------------------57 文件分隔符是:\58 ----------------------------------------------------------------------------------------------------59 java.runtime.name: Java(TM) SE Runtime Environment60 sun.boot.library.path: C:\Program Files\Java\jre8\bin61 java.vm.version: 25.0-b7062 java.vm.vendor: Oracle Corporation63 java.vendor.url: http://java.oracle.com/64 path.separator: ;65 java.vm.name: Java HotSpot(TM) Client VM66 file.encoding.pkg: sun.io67 user.script:68 user.country: CN69 sun.java.launcher: SUN_STANDARD70 sun.os.patch.level: Service Pack 171 java.vm.specification.name: Java Virtual Machine Specification72 user.dir: E:\Eclipse SE 工作空间\IOStream73 mykey: myvalue************************************************************注意,这行是自定义添加的键值对74 java.runtime.version: 1.8.0-b13275 java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment76 java.endorsed.dirs: C:\Program Files\Java\jre8\lib\endorsed77 os.arch: x8678 java.io.tmpdir: C:\Users\KUANGD~1\AppData\Local\Temp\79 line.separator:80

81 java.vm.specification.vendor: Oracle Corporation82 user.variant:83 os.name: Windows 784 sun.jnu.encoding: GBK85 java.library.path: C:\Program Files\Java\jre8\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:/Program Files/Java/jre8/bin/client;C:/Program Files/Java/jre8/bin;C:/Program Files/Java/jre8/lib/i386;D:\MyPHPEnvironment\Apache\bin;D:\Android开发\adt-bundle-windows-x86-20140321\adt-bundle-windows-x86-20140321\sdk\platform-tools;D:\Android开发\adt-bundle-windows-x86-20140321\adt-bundle-windows-x86-20140321\sdk\tools;c:\Windows\System32;C:\Program Files\Java\jdk1.8.0\bin;C:\Program Files\Java\jdk1.8.0\jre\bin;C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\MySQL\MySQL Utilities 1.3.5\;D:\masm;D:\应用程序扩展\VC++ 6.0\Tools\WinNT;D:\应用程序扩展\VC++ 6.0\MSDev98\Bin;D:\应用程序扩展\VC++ 6.0\Tools;D:\应用程序扩展\VC98\bin;C:\Program Files\SSH Communications Security\SSH Secure Shell;D:\Program Files\Eclipse SE\eclipse;;.86 java.specification.name: Java Platform API Specification87 java.class.version: 52.088 sun.management.compiler: HotSpot Client Compiler89 os.version: 6.190 user.home: C:\Users\kuangdaoyizhimei91 user.timezone:92 java.awt.printerjob: sun.awt.windows.WPrinterJob93 file.encoding: GBK94 java.specification.version: 1.895 user.name: kuangdaoyizhimei96 java.class.path: E:\Eclipse SE 工作空间\IOStream\bin97 java.vm.specification.version: 1.898 sun.arch.data.model: 3299 java.home: C:\Program Files\Java\jre8100 sun.java.command: p01.OftenUseClass.p01.SystemDemo.SystemDemo101 java.specification.vendor: Oracle Corporation102 user.language: zh103 awt.toolkit: sun.awt.windows.WToolkit104 java.vm.info: mixed mode, sharing105 java.version: 1.8.0106 java.ext.dirs: C:\Program Files\Java\jre8\lib\ext;C:\windows\Sun\Java\lib\ext107 sun.boot.class.path: C:\Program Files\Java\jre8\lib\resources.jar;C:\Program Files\Java\jre8\lib\rt.jar;C:\Program Files\Java\jre8\lib\sunrsasign.jar;C:\Program Files\Java\jre8\lib\jsse.jar;C:\Program Files\Java\jre8\lib\jce.jar;C:\Program Files\Java\jre8\lib\charsets.jar;C:\Program Files\Java\jre8\lib\jfr.jar;C:\Program Files\Java\jre8\classes108 java.vendor: Oracle Corporation109 file.separator: \110 java.vendor.url.bug: http://bugreport.sun.com/bugreport/111 sun.cpu.endian: little112 sun.io.unicode.encoding: UnicodeLittle113 sun.desktop: windows114 sun.cpu.isalist: pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86

View Code

各种系统属性中,有几个个重要的属性:路径分隔符、行分隔符属性等。在Windows下,行分隔符是\r\n,而在linux下,行分隔符是\n,这就导致同一个Java程序在windows下和在linux下运行结果不同。解决办法就是使用System.getProperty("line.separator")得到当前系统下的行分隔符(举例),并应用在程序中。

二、java.lang.Runtime类。

public class Runtimeextends Object

API1.6对Runtime类的解释:每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。应用程序不能创建自己的 Runtime 类实例。

个人认为Runtime类只是桥梁,它将当前运行的java程序和运行的平台联系起来,使得java程序能够使用该平台上的一些资源,如某些应用程序等。

注意,该类没有构造方法摘要,但是却又非静态方法,说明该类使用了单例设计模式。

1.getRuntime方法。

public static Runtime getRuntime()

该方法返回一个Runtime实例对象。

2.exec方法。

该方法有多个重载方法,现在只说一种。

public Process exec(String[] cmdarray)throws IOException

该方法返回值是Process类型的,Process类是“进程类”,该进程是在当前java程序运行平台上的其它程序运行的进程。比如notepad.exe等。

Process类中有多个方法可以操作该进程,比如使用destroy()方法可以杀死当前进程。

示例程序:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 package p01.OftenUseClass.p02.RuntimeDemo;2

3 import java.io.IOException;4

5 public class RuntimeDemo6 {7

8 public static void main(String[] args) {9 Demo();10 }11 private static void Demo() {12 Runtime r=Runtime.getRuntime();13 try14 {15 Process p=r.exec("notepad.exe c:\\aim.java");16 try17 {18 Thread.sleep(5000);19 }20 catch (InterruptedException e)21 {22 e.printStackTrace();23 }24 p.destroy();25 } catch (IOException e1)26 {27 e1.printStackTrace();28 }29

30 }31

32 }

View Code

三、java.lang.Math类。

public final class Mathextends Object

该类是一个工具类,封装了很多数学方法。如正弦、预先、正切、余切等。

几个常用的方法的代码示例:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagep01.OftenUseClass.p03.MathDemo;2

3 importjava.util.Random;4

5 public classMathDemo {6

7 public static voidmain(String[] args) {8 //Demo();9 //randomDemo();10 //RandomClassDemo();

11 RandomClassDemo1();12 }13

14 private static voidRandomClassDemo1() {15 /*

16 * 使用NextInt方法更容易实现得到15-36的随机数17 */

18 Random r=newRandom();19 for(int i=1;i<=100;i++)20 {21 System.out.println(r.nextInt(36-15)+15);22 }23 }24

25 private static voidRandomClassDemo() {26 /*

27 * 使用Random的nextDouble方法也可以获取[0,1)的随机数28 */

29 Random r=newRandom();30 for(int i=1;i<=100;i++)31 {32 int aim=(int) Math.floor(r.nextDouble()*(36-15+1)+15);//[0,22) [15,37)

33 System.out.println(aim);34 }35 }36

37 private static voidrandomDemo() {38 //求15-36的随机数。

39 for(int i=1;i<=100;i++)40 {41 int aim=(int) Math.floor(Math.random()*(36-15+1)+15);//[0,22) [15,37)

42 System.out.println(aim);43 }44 }45

46 private static voidDemo() {47 /*

48 * 演示一些常用的方法。49 */

50 System.out.println(Math.ceil(3.1415926));51 System.out.println(Math.floor(3.1415926));52 System.out.println(Math.round(3.1415926));53

54 for(int i=1;i<=10;i++)55 {56 System.out.println(Math.random());57 }58

59

60 }61

62 }

View Code

四、日期类(java.util.Date、java.util.Calendar、java.text.DateFormat、java.text.SimpleDateFormat)

1.java.util.Date类。

该类有六个构造方法,但是有四个已经过时,剩下的两个构造方法:

Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年

1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

该类称为日期类,如果直接打印该类的一个对象,将会输出日期中封装的年月日时分秒信息。

日期对象转换为毫秒值使用方法getTime():

long

Date 对象表示的毫秒数。

毫秒值转换为日期对象使用构造方法创建对象或者使用setTime方法。

void

设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后

time 毫秒的时间点。

示例代码:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagep01.OftenUseClass.p04.DateDemo;2

3 importjava.util.Date;4

5 public classClass01ChangeDateAndMillis {6

7 public static voidmain(String[] args)8 {9 changeMillisToDateDemoFunction01();10 changeMillisToDateDemoFunction02();11 changeDateToMillisDemo();12 }13

14 private static voidchangeMillisToDateDemoFunction01()15 {16 /*

17 * 使用构造方法将毫秒值转换成日期对象。18 */

19 long now=System.currentTimeMillis();20 Date date1=newDate(now);21 System.out.println(date1);22 }23 private static voidchangeMillisToDateDemoFunction02() {24 /*

25 * 使用set方法将毫秒值转换成日期对象26 */

27 long time=System.currentTimeMillis();28 time+=1000*600;29 Date date=newDate();30 System.out.println(date);31 date.setTime(time);32 System.out.println(date);33 }34

35 private static voidchangeDateToMillisDemo() {36 /*

37 * 使用getTime方法将日期对象转换成毫秒值38 */

39 Date date=newDate();40 long time=date.getTime();41 System.out.println(time);42 }43 }

View Code

2.java.text.DateFormat类。

public abstract class DateFormatextends Format

通过该类的API描述可以看出该类是一个抽象类,但是该类仍然封装了非静态方法,说民该类也使用了单例设计模式。

(1)获取对象实例的方法。

该类获取对象实例的方法有很多种,但是常用的只有几种:

获取日期/时间格式器,该格式器具有默认语言环境的给定日期和时间格式化风格。

关于dataStyle,API给出的解释:

static int

static int

static int

static int

static int

一般来说使用LONG模式就已经足够了。

(2)format方法。

format方法有三种重载形式:

用的比较的是第一种方法。

该方法将返回一个日期的字符串表示形式,该字符串已经被格式化。

(3)代码示例。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagep01.OftenUseClass.p04.DateDemo;2

3 importjava.text.DateFormat;4 importjava.util.Date;5

6 public classClass02ChangeMachineDateToNormalFormatByDateFormat {7

8 public static voidmain(String[] args)9 {10 /*

11 * 使用DateFormat中的方法得到想要的日期格式12 */

13 //defaultFormatDemo();

14 limitNormalFormatDemo();15 }16

17 private static voidlimitNormalFormatDemo() {18 //演示四种指定格式的日期格式器。特别注意,这种方式不能指定自定义格式。

19 Date date=newDate();20 DateFormat df_1=DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.DEFAULT);21 DateFormat df_2=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);22 DateFormat df_3=DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);23 DateFormat df_4=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);24 DateFormat df_5=DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);25

26 System.out.println("DEFAULT模式:"+df_1.format(date));27 System.out.println("FULL模式:"+df_2.format(date));28 System.out.println("SHORT模式:"+df_3.format(date));29 System.out.println("LONG模式:"+df_4.format(date));30 System.out.println("MEDIUM模式:"+df_5.format(date));31

32

33 }34

35 private static voiddefaultFormatDemo() {36 /*

37 * 这是默认格式的转换。38 */

39 Date date=newDate();40 DateFormat df_Date=DateFormat.getDateInstance();//得到不带时分秒的日期格式器

41 DateFormat df_DateTime=DateFormat.getDateTimeInstance();//得到时分秒的日期格式器

42 System.out.println(df_Date.format(date));43 System.out.println(df_DateTime.format(date));44 }45

46 }

View Code

(4)注意事项。

DateFormat类只能支持五种模式的日期格式化,而不能提供更多的自定义模式,原因就是DateFormat类是一个抽象类,而且只提供了能够接受固定参数的get[XXX]Instance方法,如果想要自定义格式化的模式,应当使用其子类SimpleDateFormat。

3.java.text.SimpleDateFormat类。

public class SimpleDateFormatextends DateFormat

该类是DateFormat类的子类,可以实例化对象,所以能够自定义模式。

日期和时间模式:

字母日期或时间元素表示示例

G

Era 标志符

AD

y

1996; 96

M

年中的月份

July; Jul; 07

w

年中的周数

27

W

月份中的周数

2

D

年中的天数

189

d

月份中的天数

10

F

月份中的星期

2

E

星期中的天数

Tuesday; Tue

a

Am/pm 标记

PM

H

一天中的小时数(0-23)

0

k

一天中的小时数(1-24)

24

K

am/pm 中的小时数(0-11)

0

h

am/pm 中的小时数(1-12)

12

m

小时中的分钟数

30

s

分钟中的秒数

55

S

毫秒数

978

z

时区

Pacific Standard Time; PST; GMT-08:00

用法示例:

日期和时间模式结果

"yyyy.MM.dd G 'at' HH:mm:ss z"

2001.07.04 AD at 12:08:56 PDT

"EEE, MMM d, ''yy"

Wed, Jul 4, '01

"h:mm a"

12:08 PM

"hh 'o''clock' a, zzzz"

12 o'clock PM, Pacific Daylight Time

"K:mm a, z"

0:08 PM, PDT

"yyyyy.MMMMM.dd GGG hh:mm aaa"

02001.July.04 AD 12:08 PM

"EEE, d MMM yyyy HH:mm:ss Z"

Wed, 4 Jul 2001 12:08:56 -0700

"yyMMddHHmmssZ"

010704120856-0700

"yyyy-MM-dd'T'HH:mm:ss.SSSZ"

2001-07-04T12:08:56.235-0700

(1)构造方法。

SimpleDateFormat。

SimpleDateFormat。

SimpleDateFormat。

SimpleDateFormat。

四种构造方法中,使用的最多的是第二种方法,这种方法指定了日期和时间模式pattern。

(2)parse方法。

该方法虽然有两个参数,但是经常只写一个参数,那就是日期字符串,如“2014年2月2日 13:14:21”

(3)format方法。

Date 格式化为日期/时间字符串,并将结果添加到给定的

StringBuffer。

该方法虽然有三个参数,但是经常只写一个参数,即date。

(4)代码示例。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagep01.OftenUseClass.p04.DateDemo;2

3 importjava.util.Date;4 importjava.text.ParseException;5 importjava.text.SimpleDateFormat;6

7 public classClass03ChangeMachineDateAndNormalFormatBySimpleDateFormat {8

9 public static voidmain(String[] args) {10 changeDateStringToDateObjectByParseFunction();11 }12

13 private static voidchangeDateStringToDateObjectByParseFunction() {14 String pattern_1="yyyy年MM月dd日 HH:mm:ss";15 String pattern_2="yyyy##MM##dd HH#m#ss";16 String dateString1="2012年12月31日 00:00:01";17 SimpleDateFormat sdf=newSimpleDateFormat(pattern_1);18 SimpleDateFormat sdf_1=newSimpleDateFormat(pattern_2);19 try

20 {21 Date date=sdf.parse(dateString1);22 System.out.println(date);23

24

25 String dataString2=sdf_1.format(date);//注意format方法返回一个指定格式的StringBuffer对象。

26 System.out.println(dataString2);27 } catch(ParseException e)28 {29 e.printStackTrace();30 }31

32 }33

34 }

View Code

4.java.util.Calendar类。

日期类不够国际化所以被Calendar替代了一些功能。

public abstract class Calendarextends Objectimplements Serializable, Cloneable, Comparable

(1)概述。

Calendar类是一个抽象类,但是该类提供了一个方法能够返回一个该类的实例对象。

(2)getInstance()方法。

该方法有多个重载形式:

(3)get方法。

int

返回给定日历字段的值。

该方法实现了很多Date类中已经过时的方法。

通过这个方法可以获取到Date对象的各个字段。

field是字段的意思,几个重要的字段:

get 和 set 的字段数字。

get 和 set 的字段数字。

get 和 set 的字段数字,指示一个月中的某天。

get 和 set 的字段数字,指示一天中的小时。

get 和 set 的字段数字,指示一小时中的分钟。

get 和 set 的字段数字,指示一分钟中的秒。

(4)set方法。

该方法也有多个重载形式。

void

将给定的日历字段设置为给定值。

void

设置日历字段

YEAR、MONTH 和 DAY_OF_MONTH 的值。

void

设置日历字段

YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY

和 MINUTE 的值。

void

设置字段

YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE

和 SECOND 的值。

该方法能够将当前对象的各个字段值设置为指定值。

(5)add方法。

abstract  void

根据日历的规则,为给定的日历字段添加或减去指定的时间量。

(6)代码示例。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagep01.OftenUseClass.p04.DateDemo;2

3 importjava.util.Calendar;4

5 public classClass04CalendarDemo {6

7 public static voidmain(String[] args) {8 Calendar cal=Calendar.getInstance();9 getDateSegmentsDemo(cal);10 setDateSegmentsDemo(cal);11 addDateSegmentsDemo(cal);12 }13

14 private static voidaddDateSegmentsDemo(Calendar cal) {15 /*

16 * 使用add方法修改日期17 */

18 cal.add(Calendar.YEAR, 1);19 cal.add(Calendar.MONTH, 1);20 cal.add(Calendar.DAY_OF_MONTH, 1);21

22 cal.add(Calendar.HOUR_OF_DAY, 1);23 cal.add(Calendar.MINUTE, 1);24 cal.add(Calendar.SECOND, -1);25

26 getDateSegmentsDemo(cal);27 }28

29 private static voidsetDateSegmentsDemo(Calendar cal) {30 /*

31 * 设置当前日期各字段32 */

33 cal.set(Calendar.YEAR, 2000);34 cal.set(Calendar.MONTH, 1);35 cal.set(Calendar.DAY_OF_MONTH, 21);36

37 cal.set(Calendar.HOUR_OF_DAY, 13);38 cal.set(Calendar.MINUTE, 31);39 cal.set(Calendar.SECOND, 59);40

41 getDateSegmentsDemo(cal);42 }43

44 public static voidgetDateSegmentsDemo(Calendar cal) {45 /*

46 * 为了更加标准化,使用Calendar类获取具体的年月日而不使用Date对象了47 */

48 int year=cal.get(Calendar.YEAR);49 int month=cal.get(Calendar.MONTH);50 int day=cal.get(Calendar.DAY_OF_MONTH);51

52 int hour=cal.get(Calendar.HOUR_OF_DAY);53 int mininus=cal.get(Calendar.MINUTE);54 int millis=cal.get(Calendar.SECOND);55

56 System.out.println(year+"年"+month+"月"+day+"日 "+hour+":"+mininus+":"+millis);57 }58

59 }

View Code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值