ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:259.50KB ,
资源ID:3219852      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3219852.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java工具包.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

java工具包.doc

1、1. Java工具概述很多人初学程序时,总是在想,那么多的算法该怎么写呀?那么多的数据结构都不熟悉,该怎么实现呀?总是担心英语不好程序学不精通,数学不好写程序无法达到巅峰。学的程序越多,不懂的知识越多。这种想法很正常,毕竟传统的计算机教育都是从原理开始的,科学原理一般理解起来还能够接受,但是实现起来都很难。计算机发展到了今天,能成为原理的基本已经有人实现了,今天我们学习任何知识都是站在巨人的肩膀上,只要理解程序运行原理,算法的功能即可。底层的各种算法,各种数据结构已经被“巨人们”实现了,一般都放在程序开发类库中,程序员开发过程中直接调用即可。比如现在木工做家具,已经不存在自己砍树、加工木板、一

2、点一点的雕刻了,如果需要木板,直接到市场上购买,需要各种图案,直接到市场购买,木工的工作就是把这些木板修理一下组装成一套家具即可。 “工欲善其事,必先利其器” ,在 Java 程序开发过程中,很多算法(比如:MD5 加密算法) 、很多数据结构(比如链表 LinkedList)已经实现并且大多放在类库的 java.util 包中,程序员只需要了解各种工具的功能就可以直接调用。比如对一个数组进行排序,程序员可以写如下排序算法:代码演示:数组排序public static void sort(int arrs) boolean isSwap = false;for (int i = 0; i i;

3、j-) if (arrsj - 1 arrsj) isSwap = true;int tmp = arrsj - 1;arrsj - 1 = arrsj;arrsj = tmp;该排序算法中只能对整数数组排序,还有其他数据类型呢?就需要重载很多方法进行排序操作。而在 Java 类库中有一个 Arrays 类的 sort 方法已经实现各种数据类型的排序算法。程序员只需要调用该类的方法即可。代码演示:Arrays 实现排序public static void main(String args) int ages=23, 45,12,76,34,56,24;Arrays.sort(ages);for

4、 (int i = 0; i ages.length; i+) System.out.println(agesi);在 Java 开发类库中,提供了很多工具类,我们即将学习最常见的工具类,比如对日期的操作,对集合的操作等。具体更多的工具类,请参考 JavaDoc 文档。2. java.util.Date类Date 类包装了毫秒值,毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 开始到现在经过的毫秒数。该类的大部分构造器和方法都已经过时,但是该类使用非常方便,因此目前使用还很普遍,该类的另一个主要功能是,在数据库操作中,它允许将毫秒值表示为 SQL DATE 值,是数据库操

5、作中 java.sql.Date 的父类。关于数据库操作,将在第八章开始讲解。该类目前推荐使用的构造方法有两个:构造方法 说明Date() 按照当前系统时间构造一个 Date 对象。Date(long date) 按照给定的时间毫秒值构造一个 Date 对象。表 1 java.util.Date 类的构造方法主要的方法有:返回 异常 说明boolean after(Date when) 测试当前对象表示的时间是否在指定时间之后。boolean before(Date when) 测试当前对象表示的时间是否在指定时间之前。long getTime() 返回当前对象对应的时间毫秒值void set

6、Time(long time) 设置时间表 2 java.util.Date 类的主要方法代码演示:时间设置public class Demo2 public static void main(String args) Date date=new Date(); date.setTime(10L*365+2)*24*60*60*1000); System.out.println(date); 代码解析: 构造当前系统时间。 设置时间值为 1970 年后 10 年的时间的毫秒值,10 年间有 2 个闰年,10 年的天数是:10*365+2,10L 表示当前值是 long 类型。 调用 Date

7、的 toString 方法输出结果。代码输出结果:Tue Jan 01 08:00:00 CST 1980Q 老师,时间毫秒值从 1970 年 1 月 1 日 0:00.000 开始计算,上面示例中 10 年后应该是 1980 年 1 月 1 日 0:00.000,为什么输出结果是:1980 年 1 月 1 日 8:00呢?A java.util.Date类型表示的是GMT时间,本身输出是国际化输出,由于中国处于东八区时间,因此输出结果是早上8点。而Date的其他构造方法和普通方法的API都不容易实现国际化,因此目前Date类的大多数方法都被标识为过时,表示更灵活的时间类请参考java.uti

8、l.Calendar。Date 的输出结果是按照国际通用格式输出的,而中国更习惯于“年-月-日”的形式输出,这种特殊格式的输出需要用到 Java 格式化工具。3. 格式化工具格式化的目的是把一个对象以不同的格式表示,以满足不同环境对格式的要求,比如:前面学习的 Date 对象实质是一个以毫秒值表示的时间,但是在不同的国家和地区表示方式不一样。那么就需要对 Date 进行格式化处理。接下来主要学习 Java 对日期时间的格式化和对数字的格式化处理。 日期时间格式化Date 类中包含了日期和时间,在 Java 编程中,日期通常指年、月、日,时间则指时、分、秒、毫秒。Java 对 Date 进行格式

9、化使用 java.text.DateFormat 类。在格式表示中,经常采用 4 种格式,这四种格式被定义为 DateFormat 类的常量。下表所示:格式 说明SHORT 以最短的格式表示,比如:09-8-20MEDIUM 比 short 完整表示方式,比如:2009-8-20LONG 比medium 更完整的表示方式,比如:2009年8月20日FULL 综合的表示方式,比如:2009年8月20日 星期四表 3 DateFormat 的四种表示格式因为不同国家地区需要格式化的结果不同,Locale 类的对象表示了不同的区域,Locale定义目前全世界几乎所有地区的对象表示,比如:格式 说明L

10、ocale.CHINA 中国地区Locale.US 美国地区Locale.FRANCE 法国地区Locale.CANADA 加拿大地区表 4 Locale 对部分地区的表示DateFormat 是一个抽象类,不能直接实例化,可以使用下表中的静态方法得到DateFormat 的对象。方法 说明getDateInstance() 返回默认地区,默认格式的关于日期的 DateFormat 对象。getDateInstance(int) 返回指定格式下,默认地区的关于日期的 DateFormat 对象。getDateInstance(int, Locale) 返回指定格式,指定地区的关于日期的Date

11、Format对象。getTimeInstance() 返回默认地区,默认格式的关于时间的 DateFormat 对象。getTimeInstance (int) 返回默认地区,指定格式的关于时间的 DateFormat 对象。getTimeInstance (int, Locale) 返回指定地区,指定格式的关于时间的DateFormat对象。getDateTimeInstance() 返回默认地区、默认日期格式、默认时间格式的关于日期和时间的DateFormat对象。getDateTimeInstance (int,int) 返回默认地区、指定日期格式、指定时间格式的关于日期和时间的Date

12、Format对象。getDateTimeInstance (int,int, Locale)返回指定地区、指定日期格式、指定时间格式的关于日期和时间的DateFormat对象。表 5 获取 DateFormat 对象的静态方法调用 DateFormat 对象的 format 方法可以把 Date 对象转换成为指定格式的 String 类型数据。比如:Date today=new Date();DateFormat df=DateFormat.getDateInstance(DateFormat.FULL,Locale.CHINA);String result=df.format(today);

13、代码演示:日期的不同格式import java.text.DateFormat;import java.util.Date;import java.util.Locale;public class Demo3 public static void main(String args) Date today = new Date();Locale locals = new Locale Locale.CHINA, Locale.US, Locale.UK ;for (int i = 0; i locals.length; i+) DateFormat df1 = DateFormat.getDat

14、eInstance(DateFormat.SHORT,localsi);DateFormat df2 = DateFormat.getDateInstance(DateFormat.MEDIUM,localsi);DateFormat df3 = DateFormat.getDateInstance(DateFormat.LONG,localsi);DateFormat df4 = DateFormat.getDateInstance(DateFormat.FULL,localsi);System.out.println(localsi.getDisplayCountry() + “的日期形式

15、:“);System.out.println(“tShort 格式:“ + df1.format(today);System.out.println(“tMedium 格式:“ + df2.format(today);System.out.println(“tLong 格式:“ + df3.format(today);System.out.println(“tFull 格式:“ + df4.format(today);代码输出结果:中国的日期形式:Short格式:09-8-20Medium格式:2009-8-20Long格式:2009 年8月20日Full格式:2009 年8月20日 星期四美

16、国的日期形式:Short格式:8/20/09Medium格式:Aug 20, 2009Long格式:August 20, 2009Full格式:Thursday, August 20, 2009英国的日期形式:Short格式:20/08/09Medium格式:20-Aug-2009Long格式:20 August 2009Full 格式:20 August 2009在 Java 程序设计过程中,对应日期和时间的格式化,还有一个简单的格式化方式,就是 java.text.SimpleDateFormat,该类中用字符串指定日期和时间的格式,字符串中的字符称为模式字符,模式字符区分大小写。常见的模

17、式字符定义如下:字母 日期或时间元素y 年M 年中的月份w 年中的周数W 月份中的周数D 年中的天数d 月份中的天数F 月份中的星期E 星期中的天数a Am/pm 标记H 一天中的小时数(0-23)k 一天中的小时数(1-24)K am/pm 中的小时数(0-11)h am/pm 中的小时数(1-12)m 小时中的分钟数s 分钟中的秒数S 毫秒数表 6 模式字符串例如:日期和时间模式 结果“EEE, MMM d, yy“ Wed, Jul 4, 01“h:mm a“ 12:08 PM“yyyy-MM-dd HH:mm:ss“ 2009-8-20 14:22“yyyy 年 MM 月 dd HH:

18、mm:ss“ 2009 年 8 月 20 14:22:23表 7 模式字符串示例SimpleDateFormat 是 DateFormat 的子类,用法和 DateFormat 类基本一致,主要使用format()方法。代码演示:SimpleDateFormat 进行日期转换import java.text.SimpleDateFormat;import java.util.Date;public class Demo4 public static void main(String args) Date today = new Date();SimpleDateFormat format1 =

19、 new SimpleDateFormat(“yyyy-MM-dd“);SimpleDateFormat format2 = new SimpleDateFormat(“yyyy 年 MM 月 dd HH:mm:ss“);SimpleDateFormat format3 = new SimpleDateFormat(“HH:mm:ss“);SimpleDateFormat format4 = new SimpleDateFormat(“yyyy“);System.out.println(format1.format(today);System.out.println(format2.forma

20、t(today);System.out.println(format3.format(today);System.out.println(format4.format(today);代码输出结果:2009-08-202009年08月20 14:25:5814:25:582009在程序设计时,界面上用户输入的基本上都是字符串,如果字符串输入一个出生年月,如何把该字符串转换成 Date 类型呢?可以使用 SimpleDateFormat 的 parse()方法。代码演示:SimpleDateFormat 解析日期import java.text.ParseException;import java

21、.text.SimpleDateFormat;import java.util.Date;public class Demo5 public static void main(String args) String birthday=“1980-04-16“;SimpleDateFormat format=new SimpleDateFormat(“yyyy-MM-dd“);try Date bir=format.parse(birthday);System.out.println(bir); catch (ParseException e) / TODO Auto-generated cat

22、ch blocke.printStackTrace();代码解析: 用 SimpleDateFormat 解析日期的时候需要处理其中的 ParseException 异常。 数字格式化对数字的格式化,在程序处理中也是非常常用的,数字格式化主要对小数点位数,表示的形式(比如:百分数表示)等格式处理。NumberFormat 是所有数值格式的抽象基类。此类提供格式化和解析数值的接口。若要格式化当前 Locale 的数值,可使用其中一个方法:myString = NumberFormat.getInstance().format(myNumber);若要格式化不同 Locale 的日期,可在调用 g

23、etInstance 方法时指定它。NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);方法 说明getInstance() 获取常规数值格式。可以指定 Local 参数。getNumberInstance() 获取常规数值格式。可以指定 Local 参数。getIntegerInstance() 获取整数数值格式。可以指定Local参数。getCurrencyInstance () 获取货币数值格式。可以指定 Local 参数。格式化后的数据前面会有一个货币符号,比如:“¥”getPercentInstance() 获取显示百分

24、比的格式。可以指定 Local 参数。比如:小数 0.53 将显示为 53%。表 8 获取 NumberFormat 对象代码演示:NumberFormat 进行数字格式化import java.text.DecimalFormat;import java.text.NumberFormat;import java.util.Locale;public class Demo6 public static void main(String args) double mynum1 = 230456789;double mynum2 = 0.23;NumberFormat nf1 = NumberF

25、ormat.getInstance(Locale.CHINA);NumberFormat nf2 = NumberFormat.getCurrencyInstance(Locale.CHINA);NumberFormat nf3 = NumberFormat.getCurrencyInstance(Locale.US);NumberFormat nf4 = NumberFormat.getPercentInstance();System.out.println(nf1.format(mynum1);System.out.println(nf2.format(mynum1);System.out

26、.println(nf3.format(mynum1);System.out.println(nf4.format(mynum2);代码输出结果:230,456,789¥230,456,789.00$230,456,789.0023%关于更复杂的数字格式化,可以使用 java.text.DecimalFormat 进行处理,该类通过模式字符串对数字格式化。代码演示:DecimalFormat 进行数字格式化import java.text.DecimalFormat;public class Demo7 public static void main(String args) int num1

27、=1234567;double num2=0.126543;DecimalFormat df1=new DecimalFormat(“#,#“); DecimalFormat df2=new DecimalFormat(“#.00“); DecimalFormat df3=new DecimalFormat(“00.#“); DecimalFormat df4=new DecimalFormat(“0.#E0“); DecimalFormat df5=new DecimalFormat(“0.#%“); System.out.println(df1.format(num1);System.out.println(df2.format(num2);System.out.println(df3.format(num2);System.out.println(df4.format(num1);System.out.println(df5.format(num2);

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。