java.util包学习笔记
在这个包中,Java提供日期(Date)类,日历(Calendar)类来产生和获取日期和时间,提供随机数(Random)类来产生各种类型的随机数。
1,日期类有两种常见的构造方法
(1)public Date();该构造方法创建的日期类对象的日期时间被设置成创建时刻相对应的时间;
通过getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
通过getYear()返回一个值,此值是从包含或开始于此 Date 对象表示的瞬间的年份减去 1900 的结果(用本地时区进行解释)。
通过getMonth()返回表示月份的数字,该月份包含或开始于此 Date 对象所表示的瞬间。返回的值在 0 和 11 之间,值 0 表示 1 月。
通过getDate()返回此 Date 对象表示的月份中的某一天。返回的值在 1 和 31 之间,表示包含或开始于此 Date 对象表示的时间的月份中的某一天。
例如:Date d1 = new Date();
int year = d1.getYear();
int month = d1.getMonth();
int date = d1.getDate();
System.out.println((year+1900)+"年"+(month+1)+"月"+date+"日");
(2)public Date(long date);该构造方法创建的日期类对象的日期时间由传入的long型参数所决定;
java.lang.System类中currentTimeMillis()返回以毫秒为单位的当前系统时间,该方法为静态方法,直接由类名进行调用;
例如:long t = System.currentTimeMillis();
System.out.println("t:"+t);
Date d2 = new Date(t);
long time2 = d2.getTime();
System.out.println(time2);
2,日历类是一个抽象类。
(1)Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象,使用默认时区和语言环境获得一个日历。
(2)日历对象通过调用set方法来为静态变量赋值,通过get方法获取静态变量的值;(具体参阅API文档)
(3)若没有调用set方法,则通过get方法获取的静态变量的值则为创建该对象时的默认值。
例如:Calendar calendar =Calendar.getInstance();
calendar.set(Calendar.YEAR,1949);
calendar.set(Calendar.WEEK_OF_YEAR,10);
calendar.set(Calendar.DAY_OF_WEEK, 1);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int date = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year+" "+month+" "+date)
3,获取当前时间,获取某个时间的某个格式,
(1)获取当前时间直接用Date()或者使用System.currentTimeMillis()函数;
(2)获取时间格式用到时间格式化类SimpleDateFormat,首先创建一个格式化的实例,并指定其时间模
式与区域,然后去格式化原始时间;(具体各种格式设置参见API文档)
例如: long t = System.currentTimeMillis();
System.out.println("t:"+t);
Date d2 = new Date(t);
long time2 = d2.getTime();
System.out.println(time2);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = sdf.format(d2);
System.out.println(str);
long aa =0L;
Date d3 = new Date(aa);
String str2 = sdf.format(d3);
System.out.println(str2);
结果如下: 2015-10-21 19:56:11
1970-01-01 08:00:00
4,随机类来产生各种类型的随机数;
具体代码事例如下:
// 创建随机数对象
Random rd = new Random();
for (int i = 0; i < 10; i++) {
// 从int的范围内随机一个数字
int t = rd.nextInt();
System.out.println(t);
}
for (int i = 0; i < 10; i++) {
// 从0到100之间取一个随机数
int t2 = rd.nextInt(100);
System.out.println(t2);
}
// 从-100到100之间取一个随机数
int t3 = rd.nextInt(100) - 100;
// 从0到100之间随机一个奇数
int t4;
do {
t4 = rd.nextInt(100);
} while (t4 % 2 == 0);
System.out.println(t4);
//从 "再来一包","谢谢惠顾","加1元换购一包","芙蓉王"
String[] strs = {"再来一包","谢谢惠顾","加1元换购一包","芙蓉王"};
int index = rd.nextInt(strs.length);
System.out.println(strs[index]);
分享到:
相关推荐
Java.util包是Java标准库中的核心包之一,它包含了大量用于日常编程的工具类和接口。这个包在Java 2版本中得到了显著增强,引入了许多重要的数据结构和算法,为Java程序员提供了更丰富的功能。 首先,Java.util包中...
本文将通过一系列的示例来详细介绍如何利用 Java 中的 `java.util.zip` 包进行数据的压缩与解压操作。此外,还将探讨这一技术在网络传输中的应用。 #### 数据压缩算法简介 在深入讨论具体实现之前,我们先简要了解...
`java.util`包是Java语言中不可或缺的一部分,它提供的各种工具类和接口极大地丰富了Java的编程功能,使得开发者能够更加高效地完成各种任务,从简单的日期时间处理到复杂的事件监听和数据结构管理。理解并掌握`java...
### Java并发工具包 `java.util.concurrent` 知识点详解 #### 一、引言 随着多核处理器的普及和应用程序复杂度的增加,多线程编程成为了现代软件开发不可或缺的一部分。为了简化并发编程的复杂性,Java 5 引入了 `...
总结来说,这个压缩包提供了Java中Base64编码和解码的实现,包括`BASE64Encoder.jar`库以及可能的`sun`目录下的旧版实现。虽然在新版本的Java中已有更好的替代方案,但这些资源对于理解Base64编码的工作原理以及维护...
在Java编程语言中,`java.util.zip`包提供了一系列类和接口,用于处理ZIP文件格式。这个包的主要目的是为了方便地进行文件的压缩和解压缩操作。`Zipper`类是一个自定义的类,它利用了`java.util.zip`包中的功能来...
本教程将深入讲解如何利用Java.util包和Java.text包中的类进行日历调整、时间调整以及时间预测。提供的10个源代码文件将帮助你实践并理解这些概念。 首先,让我们关注`Java.util.Calendar`类。这个类是日期和时间的...
在本案例中,我们将探讨如何使用Java的`util`包,特别是`Properties`类来管理数据库连接配置。 `Properties`类是Java `util`包中的一个核心类,用于存储和加载键值对,这在配置文件中非常常见,如`jdbc.properties`...
在Java中,`java.util.logging.Logger` 是标准的日志框架之一,它提供了基础的日志记录功能。为了使用这一功能,首先需要获得 `java.util.logging.Logger` 的实例。可以通过调用 `Logger` 类中的静态方法 `getLogger...
为了更好地支持并发编程,Java平台在J2SE 1.5版本中引入了`java.util.concurrent`包,这是一个包含了许多中级并发支持类的集合,通过Java社区过程(Java Community Process, JCP)的Java规范请求(Java ...
总结一下,`java.util.zip` 包提供了解压缩和压缩文件的强大功能,这对于任何需要处理ZIP文件的Java开发者来说都是必不可少的工具。无论你是想解压下载的库,还是想将项目文件打包成ZIP,这个包都能提供简洁且高效的...
在Java编程中,`java.util`包提供了许多用于处理数据集合的基础类。这些类帮助开发者高效地管理数据,支持各种操作,如增删查改等。本篇文章将深入探讨`java.util`包中的主要组件及其用法,并通过实际例子加深理解。...
例如,网络应用可能主要依赖`java.net`,而数据处理或分析任务则可能需要`java.util`中的集合和`java.io`的流操作。熟练掌握这些类库和包的使用,能够极大地提高开发效率和代码质量。 总结来说,Java类库和包是Java...
在跨平台开发中,有时需要将不同编程语言的组件整合在一起,例如在C#应用中调用Java类或使用Java的jar包。本篇将详细阐述如何在C#环境中实现对Java类的调用以及使用Java的jar包。 首先,要理解C#与Java之间的互操作...
总结来说,`java.util.Date` 适用于处理完整日期时间,而 `java.sql.Date` 更专注于日期部分,适合与数据库中的日期字段进行交互。在实际开发中,理解它们之间的区别并正确地进行类型转换是至关重要的,以确保数据的...
总结来说,`net.sf.json`包是Java中处理JSON数据的一个强大工具,它提供了丰富的API来创建、操作和转换JSON对象,同时依赖于Apache Commons系列库以增强其功能。通过熟练掌握这个库,开发者可以更高效地进行JSON相关...