当前位置:文档之家› java常用工具类

java常用工具类

java常用工具类
java常用工具类

java常用工具类

1. Java工具概述

很多人初学程序时,总是在想,那么多的算法该怎么写呀?那么多的数据结构都不熟悉,该怎么实现呀?总是担心英语不好程序学不精通,数学不好写程序无法达到巅峰。学的程序越多,不懂的知识越多。

这种想法很正常,毕竟传统的计算机教育都是从原理开始的,科学原理一般理解起来还能够接受,但是实现起来都很难。计算机发展到了今天,能成为原理的基本已经有人实现了,今天我们学习任何知识都是站在巨人的肩膀上,只要理解程序运行原理,算法的功能即可。底层的各种算法,各种数据结构已经被“巨人们”实现了,一般都放在程序开发类库中,程序员开发过程中直接调用即可。

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

代码演示:数组排序

public static void sort(int[] arrs) {

boolean isSwap = false;

for (int i = 0; i < arrs.length - 1; i++) {

isSwap = false;

for (int j = arrs.length - 1; j > i; j--) {

if (arrs[j - 1] > arrs[j]) {

isSwap = true;

int tmp = arrs[j - 1];

arrs[j - 1] = arrs[j];

arrs[j] = tmp;

}

}

}

}

该排序算法中只能对整数数组排序,还有其他数据类型呢?就需要重载很多方法进行排序操作。而在Java类库中有一个Arrays类的sort方法已经实现各种数据类型的排序算法。程序员只需要调用该类的方法即可。

代码演示:Arrays实现排序

public static void main(String[] args) {

int[] ages={23, 45,12,76,34,56,24};

Arrays.sort(ages);

for (int i = 0; i < ages.length; i++) {

System.out.println(ages[i]);

}

}

在Java开发类库中,提供了很多工具类,我们即将学习最常见的工具类,比如对日期的操作,对集合的操作等。具体更多的工具类,请参考JavaDoc文档。

2. java.util.Date类

Date类包装了毫秒值,毫秒值表示自1970年1月1日00:00:00 GMT开始到现在经过的毫秒数。该类的大部分构造器和方法都已经过时,但是该类使用非常方便,因此目前使用还很普遍,该类的另一个主要功能是,在数据库操作中,它允许将毫秒值表示为SQL DATE值,是数据库操作中java.sql.Date的父类。关于数据库操作,将在第八章开始讲解。

该类目前推荐使用的构造方法有两个:

构造方法说明

Date() 按照当前系统时间构造一个Date对象。

Date(long date) 按照给定的时间毫秒值构造一个Date 对象。

表1 java.util.Date类的构造方法

主要的方法有:

返回异常说明

boolean after(Date when) 测试当前对象表示的时间是否在指定时间之

后。

boolean before(Date when) 测试当前对象表示的时间是否在指定时间之

前。

long getTime() 返回当前对象对应的时间毫秒值

void setTime(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的toString方法输出结果。

代码输出结果:

Tue Jan 0108:00:00 CST 1980

Q 老师,时间毫秒值从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.util.Calendar。

Date的输出结果是按照国际通用格式输出的,而中国更习惯于“年-月-日”的形式输出,这种特殊格式的输出需要用到Java格式化工具。

3. 格式化工具

格式化的目的是把一个对象以不同的格式表示,以满足不同环境对格式的要求,比如:前面学习的Date对象实质是一个以毫秒值表示的时间,但是在不同的国家和地区表示方式不一样。那么就需要对Date进行格式化处理。接下来主要学习Java对日期时间的格式化和对数字的格式化处理。

2日期时间格式化

Date类中包含了日期和时间,在Java编程中,日期通常指年、月、日,时间则指时、分、秒、毫秒。Java对Date进行格式化使用java.text.DateFormat类。在格式表示中,经常采用4种格式,这四种格式被定义为DateFormat类的常量。下表所示:

格式说明

SHORT 以最短的格式表示,比如:09-8-20

MEDIUM 比short完整表示方式,比如:2009-8-20

LONG 比medium更完整的表示方式,比如:2009年8月20日

FULL 综合的表示方式,比如:2009年8月20日星期四

表3 DateFormat的四种表示格式

因为不同国家地区需要格式化的结果不同,Locale类的对象表示了不同的区域,Locale定义目前全世界几乎所有地区的对象表示,比如:

格式说明

Locale.CHINA 中国地区

https://www.doczj.com/doc/c96297590.html, 美国地区

Locale.FRANCE 法国地区

Locale.CANADA 加拿大地区

表4 Locale对部分地区的表示

DateFormat是一个抽象类,不能直接实例化,可以使用下表中的静态方法得到DateFormat的对象。

方法说明getDateInstance() 返回默认地区,默认格式的关于日期的

DateFormat对象。

getDateInstance(int) 返回指定格式下,默认地区的关于日期的

DateFormat对象。

getDateInstance(int, Locale) 返回指定格式,指定地区的关于日期的

DateFormat对象。

getTimeInstance() 返回默认地区,默认格式的关于时间的

DateFormat对象。

getTimeInstance (int) 返回默认地区,指定格式的关于时间的

DateFormat对象。

getTimeInstance (int, Locale) 返回指定地区,指定格式的关于时间的DateFormat对象。

getDateTimeInstance() 返回默认地区、默认日期格式、默认时间格

式的关于日期和时间的DateFormat对象。

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

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

表5 获取DateFormat对象的静态方法

调用DateFormat对象的format方法可以把Date对象转换成为指定格式的String 类型数据。比如:

Date today=new Date();

DateFormatdf=DateFormat.getDateInstance(DateFormat.FULL,Locale.CHINA); Stringresult=df.format(today);

代码演示:日期的不同格式

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, https://www.doczj.com/doc/c96297590.html,, https://www.doczj.com/doc/c96297590.html, };

for (int i = 0; i < locals.length; i++) {

DateFormat df1 = DateFormat.getDateInstance(DateFormat.SHORT,

locals[i]);

DateFormat df2 =

DateFormat.getDateInstance(DateFormat.MEDIUM,

locals[i]);

DateFormat df3 = DateFormat.getDateInstance(DateFormat.LONG,

locals[i]);

DateFormat df4 = DateFormat.getDateInstance(DateFormat.FULL,

locals[i]);

System.out.println(locals[i].getDisplayCountry() + "的日期形式:");

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-20

Medium格式:2009-8-20

Long格式:2009年8月20日

Full格式:2009年8月20日星期四

美国的日期形式:

Short格式:8/20/09

Medium格式:Aug 20, 2009

Long格式:August 20, 2009

Full格式:Thursday, August 20, 2009

英国的日期形式:

Short格式:20/08/09

Medium格式:20-Aug-2009

Long格式:20 August 2009

Full格式:20 August 2009

在Java程序设计过程中,对应日期和时间的格式化,还有一个简单的格式化方式,就是java.text.SimpleDateFormat,该类中用字符串指定日期和时间的格式,字符串中的字符称为模式字符,模式字符区分大小写。常见的模式字符定义如下:

字母日期或时间元素

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: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 = 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.format(today));

System.out.println(format3.format(today));

System.out.println(format4.format(today));

}

}

代码输出结果:

2009-08-20

2009年08月20 14:25:58

14:25:58

2009

在程序设计时,界面上用户输入的基本上都是字符串,如果字符串输入一个出生年月,如何把该字符串转换成Date类型呢?可以使用SimpleDateFormat的parse()方法。

代码演示:SimpleDateFormat解析日期

import java.text.ParseException;

import java.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 catch block

e.printStackTrace();

}

}

}

代码解析:

①用SimpleDateFormat解析日期的时候需要处理其中的ParseException异常。

2数字格式化

对数字的格式化,在程序处理中也是非常常用的,数字格式化主要对小数点位数,表示的形式(比如:百分数表示)等格式处理。

NumberFormat是所有数值格式的抽象基类。此类提供格式化和解析数值的接口。若要格式化当前Locale的数值,可使用其中一个方法:

myString =NumberFormat.getInstance().format(myNumber);

若要格式化不同Locale 的日期,可在调用getInstance方法时指定它。NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);

方法说明

getInstance() 获取常规数值格式。可以指定Local参数。

getNumberInstance() 获取常规数值格式。可以指定Local参数。

getIntegerInstance() 获取整数数值格式。可以指定Local参数。

getCurrencyInstance () 获取货币数值格式。可以指定Local参数。格式化后的数据前面会有一个货币符号,比如:“¥”

getPercentInstance() 获取显示百分比的格式。可以指定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 = NumberFormat.getInstance(Locale.CHINA);

NumberFormat nf2 =

NumberFormat.getCurrencyInstance(Locale.CHINA);

NumberFormat nf3 = NumberFormat.getCurrencyInstance(https://www.doczj.com/doc/c96297590.html,);

NumberFormat nf4 = NumberFormat.getPercentInstance();

System.out.println(nf1.format(mynum1));

System.out.println(nf2.format(mynum1));

System.out.println(nf3.format(mynum1));

System.out.println(nf4.format(mynum2));

}

}

代码输出结果:

230,456,789

¥230,456,789.00

$230,456,789.00

23%

关于更复杂的数字格式化,可以使用java.text.DecimalFormat进行处理,该类通过模式字符串对数字格式化。

代码演示:DecimalFormat进行数字格式化

import java.text.DecimalFormat;

public class Demo7 {

public static void main(String[] args) {

int num1=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));

}

}

代码解析:

①#:代表一个位置数字,如果该位置数字不存在,则省略不显示。

,:代表数字中的分隔符,此示例用三位分隔一次。

②0:代表一个数字位置,如果该位置不存在,则用0来补充。小数中多余部分四舍五入。

.:表示小数点。

#:当前位置是0,则省略不显示。

③#:小数部分只显示1位小数,并且进行四舍五入。

④E:科学计数法。

⑤%:用百分数表示数字。

代码输出结果:

1,234,567

.13

00.1

1.23E6

12.65%

4. java.util.Calendar

Calendar类是一个抽象类,它为特定的值诸如YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换和操作日历字段(例如获得下星期的日期)提供了丰富的方法。并且可以非常方便的与Date类型进行相互转换。

使用静态方法getInstance()和getInstance(Localelocale)获取Calendar对象。Calendar定义了很多表示日期时间中各个部分的常量字段。

表9 Calendar类中的日期字段

Calendar类提供了丰富的操作方法,可以单独对年、月、日、时、分、秒等字段单独读取,也可以对星期设置,常用方法如下:

返回方法说明

void add(int field, int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量。

boolean a fter(Object when) 判断此Calendar 表示的时间是否在指定Object 表示的时间之后,返回判断结果。

返回

字段说明

static int AM

指示从午夜到中午之前这段时间的AM_PM 字段

值。

static

int

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

int

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

int

DAY_OF_WEEK get 和set 的字段,指示一个星期中的某天。static

int

DAY_OF_YEAR get 和set 的字段,指示当前年中的天数。static

int

HOUR get 和set 的字段,指示上午或下午的小时。static

int

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

int

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

int

MONTH 指示月份的get 和set 的字段。

static int PM

指示从中午到午夜之前这段时间的AM_PM 字段

值。

static

int

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

static int WEEK_OF_MONT

H

get 和set 的字段,指示当前月中的星期数。

static

int

WEEK_OF_YEAR get 和set 的字段,指示当前年中的星期数。static

int

YEAR 表示年的get 和set 的字段。

boolean b efore(Object when) 判断此Calendar 表示的时间是否在指定Object 表示的时间之前,返回判断结果。

int get(int field) 返回给定日历字段的值。

int getActualMaximum(int field) 给定此Calendar 的时间值,返回指定日历字段可能拥有的最大值。

int getActualMinimum(int field) 给定此Calendar 的时间值,返回指定日历字段可能拥有的最小值。

Date getTime() 返回一个表示此Calendar 时间值(从历元至现在的毫秒偏移量)的Date 对象。

long getTimeInMillis() 返回此Calendar 的时间值,以毫秒为单位。

void set(int field, int value) 将给定的日历字段设置为给定值。

void set(int year, int month, int date) 设置日历字段YEAR、MONTH 和DAY_OF_MONTH 的值。

void set(int year, int month, int date,

int hourOfDay, int minute)

设置日历字段YEAR、MONTH、

DAY_OF_MONTH、

HOUR_OF_DAY 和MINUTE 的

值。

void set(int year, int month, int date,

int hourOfDay, int minute, int

second)

设置字段YEAR、MONTH、

DAY_OF_MONTH、HOUR、

MINUTE 和SECOND 的值。

void setTime(Date date) 使用给定的Date 设置此Calendar 的时间。

void setTimeInMillis(long millis) 用给定的long 值设置此Calendar 的当前时间值。

表10 Calendar类常用方法

代码演示:Calendar的使用

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.Locale;

public class Demo8 {

public static void main(String[] args) {

SimpleDateFormat sdf =

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Calendar cale = Calendar.getInstance();

cale.set(2009, 8, 20);// 年月日同时设置①

cale.set(Calendar.DAY_OF_WEEK, 2); ②

Date date1 = cale.getTime(); ③

System.out.println(sdf.format(date1));

cale.set(Calendar.MONTH, 3); ④

cale.set(Calendar.DAY_OF_MONTH, 28); ⑤

cale.set(Calendar.YEAR, 1978); ⑥

Date date2 = cale.getTime();

System.out.println(sdf.format(date2));

}

}

代码解析:

①可以使用set方法对年月日时分秒同时设置。

②把天定位到星期一,Calendar中认为第一天是星期天,设置2就是星期一。

③Calendar类型转换为日期时间等价的Date类型。

④单独设置月。

⑤单独设置日。

⑥单独设置年。

代码输出结果:

2009-09-21 17:21:37

1978-04-28 17:21:37

Q 老师,为什么通过Calendar设置月与输出差1个月?

A 不是差一个月,而是在Calendar中对月份的计算是从0开始的,因此设置月份11其实就是中国的十二月。

5. Java对集合的操作

Java中学习了集合的操作,比如:排序、搜索等,Java中用java.util.Arrays对数组操作,使用java.util.Collections对集合框架中List操作。他们都是工具类,类中的方法全部都是静态方法。

2Arrays中的方法

1. void Arrays.sort(T[])

对数组中的元素按照升序进行排序。T代表某一数据类型。

代码演示:binarySearch使用

public static void main(String[] args) {

int[] arrs=new int[]{12,54,12,8765,123,34,54,23,67};

Arrays.sort(arrs);

for (int i : arrs) {

System.out.print(i+" ");

}

}

代码输出结果:

12 12 23 34 54 54 67 123 8765

在sort方法中,遇到对象数组的排序时,要给对象提供排序的依据,实现Comparator接口,可以在接口的compare方法中指定排序规则,实现Comparator 接口的对象称为比较器。

有一个Student类的数组,现在按照年龄进行升序排序,那么Comparator接口compare方法实现如下:

代码演示:compare重新按年龄实现

class Student {

String name;

int age;

public Student(String name, int age) {

super();

https://www.doczj.com/doc/c96297590.html, = name;

this.age = age;

}

public String toString() {

return name + "," + age;

javamath类常用方法

例如求平方根的(n),求a的b次方(a, b),求绝对值(n)等很多。下面是一些演示。publicclassMathTest { publicstaticvoidmain(String[]args) { intn=16; ? 3)); ? ? } } publicclassMathDemo{ publicstaticvoidmain(Stringargs[]){ /** *abs求绝对值 */ 的时候会取偶数 */ // // // // // // // // // // /** *round四舍五入,float时返回int值,double时返回long值 */ //10 //11 //11 //11 //-10 //-11 //-11 //-10 } }

函数(方法) 描述 IEEEremainder(double,double) 按照IEEE754标准的规定,对两个参数进行余数运算。 abs(inta) 返回int值的绝对值 abs(longa) 返回long值的绝对值 abs(floata) 返回float值的绝对值 abs(doublea) 返回double值的绝对值 acos(doublea) 返回角的反余弦,范围在到pi之间 asin(doublea) 返回角的反正弦,范围在-pi/2到pi/2之间 atan(doublea) 返回角的反正切,范围在-pi/2到pi/2之间 atan2(doublea,doubleb) 将矩形坐标(x,y)转换成极坐标(r,theta) ceil(doublea) 返回最小的(最接近负无穷大)double值,该值大于或等于参数,并且等于某个整数cos(double) 返回角的三角余弦 exp(doublea) 返回欧拉数e的double次幂的值 floor(doublea) 返回最大的(最接近正无穷大)double值,该值小于或等于参数,并且等于某个整数log(doublea) 返回(底数是e)double值的自然对数 max(inta,intb) 返回两个int值中较大的一个 max(longa,longb) 返回两个long值中较大的一个 max(floata,floatb) 返回两个float值中较大的一个 max(doublea,doubleb) 返回两个double值中较大的一个 min(inta,intb) 返回两个int值中较小的一个 min(longa,longb) 返回两个long值中较小的一个 min(floata,floatb)

12.常用工具类作业

常用工具类作业 一、填空题 1.在Java中每个Java基本类型在https://www.doczj.com/doc/c96297590.html,ng包中都在一个相应的包装类,把基本类型数据 转换为对象,其中包装类Integer是______object______的直接子类。 2.包装类Integer的静态方法可以将字符串类型的数字”123”转换成基本整型变量n,其 实现语句是:__String_toHexString(int i)_________。 3.在Java中使用https://www.doczj.com/doc/c96297590.html,ng包中的______String______类来创建一个字符串对象,它代表一 个字符序列可变的字符串,可以通过相应的方法改变这个字符串对象的字符序列。 4.StringBuilder类是StringBuffer类的替代类,两者的共同点是都是可变长度字符串,其中 线程安全的类是_____StringBuilder_________。 5.DateFormat类可以实现字符串和日期类型之间的格式转换,其中将日期类型转换为指定 的字符串格式的方法名是______________。 6.使用Math.random( )返回带正号的double值,该值大于等于0.0且小于1.0。使用该函 数生成[30,60]之间的随机整数的语句是____double key=(double)(math.random()*(n>=30&&n<=60))__________。 7.JDK1.5后提供了___emum_________关键字,用以定义枚举类。枚举类是一种特殊的类, 可以有自己的属性、方法和构造方法。 8.File对象调用方法创建一个目录,不包括所有必需但不存在的父目录,当且仅当已创建 目录时,返回true;否则返回false。 二、选择题 1. 以下选项中关于int和Integer的说法错误的是(ac )。(选择二项) A. int是基本数据类型,Integer是int的包装类,是引用数据类型 B. int的默认值是0,Integer的默认值也是0 C. Integer可以封装了属性和方法提供更多的功能 D. Integer i=5;该语句在JDK1.5之后可以正确执行,使用了自动拆箱功能 2. 分析如下Java代码,该程序编译后的运行结果是( d )。(选择一项) publicstaticvoid main(String[ ] args) { String str=null; str.concat("abc"); str.concat("def"); System.out.println(str); } A null B. abcdef C. 编译错误 D. 运行时出现NullPointerException异常 3. 以下关于String类的代码的执行结果是( b )。(选择一项)

JAVA中常用类的常用方法

JAVA中常用类的常用方法 一、类 1、clone()方法 创建并返回此对象的一个副本。要进行“ 克隆” 的对象所属的类必须实现. Cloneable接口。 2、equals(Object obj)方法 功能:比较引用类型数据的等价性。 等价标准:引用类型比较引用,基本类型比较值。 存在特例:对File、String、Date及封装类等类型来说,是比较类型及对象的内 容而不考虑引用的是否为同一实例。 3、finalize()方法 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 4、hashCode()方法 返回该对象的哈希码值。 5、notify()方法 唤醒在此对象监视器上等待的单个线程。 6、notifyAll()方法 唤醒在此对象监视器上等待的所有线程。 7、toString()方法 返回该对象的字符串表示。在进行String与其它类型数据的连接操作时,自动调用toString()方法。可以根据需要重写toString()方法。 8、wait()方法 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。 二、字符串相关类 String类 charAt(int index) 返回指定索引处的 char 值。 compareTo(String anotherString) 按字典顺序比较两个字符串。 compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 concat(String str) 将指定字符串连接到此字符串的结尾。 endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 equals(Object anObject) 将此字符串与指定的对象比较。 equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比 较,不考虑大小写。 indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 length() 返回此字符串的长度。 replace(char oldChar, char newChar)

Java常用类

常用类 (1)字符串相关类(String,StringBuffer) 1)https://www.doczj.com/doc/c96297590.html,ng.String类代表不可变得字符序列; 2)"***"为该类的一个对象; 3)String类的常见构造方法:String(String original)//创建一个String对象为original 的拷贝;String(char[] value)//用一个字符数组创建一个String对象;String(char[] value,int offset,int count); 4)String 类的常用方法:char charAt(int index)//返回第index个字符、int length()//返回字符串的长度、int indexOf(String str)//返回字符串中出现Str的第一个位置;int indexOf(String str,int fromIndex)//返回字符串中从fromindex开始出现Str的第一个位置;boolean equalsIgnoreCase(string another)//比较是否相等,忽略大小写;String replace(char olochar,char newchar);boolean startswith(String prefix)//判断字符串是否以prefix字符串开头;boolean endsWith(String suffix);String toUpperCase()//返回一个字符串为该字符串的大写形式;String toLowerCase();String substring(int beginIndex0)//返回该字符串从beginindex开始到结尾的子字符串;String substring(int beginindex,int endindxt);String trim()//返回将该字符串去掉开头和结尾空格后的字符串。静态重载方法:public static String valueOf(。。。)//将基本类型数据转换为字符串。String[] split(String regex)//将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组。 (2)StringBuffer类:可变的字符串序列; 1)构造方法:StringBuffer();StringBuffer(string str); 2)常用方法:StringBuffer append();insert();delete();indexOf();rerverse(); (2)基本数据类型包装类:Integer,Double将基本数据类型包装成一个对象; (2)Math类:方法 (3)File类:各类的方法 (4)枚举类Enum:只能够取特定值中的一个,使用enum关键字,是https://www.doczj.com/doc/c96297590.html,ng.Enum类型;

java面向对实验八Java常见工具类使用

实 验过程 及步骤实验一运行结果截图: 实验二: import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Test { public static void main(String[] arge) { Date da = new Date(); //使用Date类记录当前时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年M 月d日,HH:mm:ss"); System.out.println(da.toString()); System.out.println(sdf.format(da)); Calendar cd = Calendar.getInstance(); //使用Calendar记录当前时间 Date da1 = cd.getTime(); System.out.println(da1.toString()); System.out.println(sdf.format(da1)); try { //输入日期并输出System.out.println(sdf.format(sdf.parse("2005年5月2日,14:52:30")));

} catch (ParseException e) { e.printStackTrace();}}} 实 验 过 程 及 步 骤 实验二运行结果截图: 实 验结果 及分析(1)实验一分析: 通过直接赋值的方式时,两个String指向的是同一个对象,所以两种比较都相等。 将str1,str2转换成StringBuffer对象比较,两种比较都是比较的对象地址,所以都不相等。 在str1后面添加一个字符串“abc”后,指向了一个新的字符对象,所以两种比较都不相等。 在sb1后加“abc“生成sb3再与sb1比较,此时两个指向同一个对象,两种比较都相等。 通过创建String对象的方式创建st1和st2,由于是两个不同对象,所以“==”比较不相等,但内容相同,所以“equals”比较相等。 实验二分析:输入日期时需要进行异常处理。 (2)心得体会: 教师评阅

JAVA中常用类的常用方法

JAVA屮常用类的常用方法 一.java?丨ang.Object 类 1、clone()方法 创建丼返M此对象的一个副木。要进行“克隆”的对象所属的类必须实现https://www.doczj.com/doc/c96297590.html,ng. Cloneable 接口。 2、equals(Objectobj)方法 0 功能:比较引用类型数据的等价性。 0 等价标准.?引用类型比较引用,基木类型比较值。 0 存在特例.?对File、String、Date及封装类等类型来说,是比较类型及对象的内稃而+ 考虑引用的是否为同一实例。 3、finalize〇方法 当垃圾丨"丨收器确定>(、存在对该对象的更多引用时,由对象的垃圾丨"丨收器调用此方法。 4、hashCode〇方法返 回该对象的哈希码值。 5、notify〇方法 唤醒在此对象监视器上等待的中?个线祝。 6、notifyAII〇方法 唤醒在此对象监视器上等待的所有线程= 7、toString()方法 返W该对象的字符串表示。在进行String与其它类型数据的连接操作时,&动调用tostringo 方法。可以根据耑要重写toStringO方法。 8、wait()方法 在其他线程调用此对象的n〇tify()方法或notifyAIIO方法前,异致当前线程等待。 二、字符串相关类 I String 类 charAt(int index)返回指定索引处的char值。compareTo{String anotherString)按字

典顺序比较两个字符串。compareTolgnoreCase(Stringstr)按字典顺序比较两个字 符串,不考虑人小写。concat(String str)将指定字符串连接到此字符串的结尾。 endsWith(String suffix)测试此字符串是否以指定的〗?缀结束。equals{Object anObject)将此字符串与指定的对象比较。 equalslgnoreCase(String anotherString)将此String 与另一个String 比较,考虑人小'与’。indexOf(int ch)返H指定字符在此字符串屮第一次出现处的索引。 indexOf(String str)返回第一次出现的指定子字符串在此字符串屮的索引, lastlndexOf(intch)返回指定字符在此字符串中最后??次出现处的索引。 length()返|n丨此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。 split(String regex)根据给定正则表达式的匹配拆分此字符串。startsWith{String prefix)测试此字符 串是否以指定的前缀开始。substring(int beginlndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginlndex, int endlndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginlndex 处开始,一直到索引endlndex-1处的字符。 t〇CharArray()将此字符串转换为一个新的字符数组。

常见的十四种Java开发工具及其特点(精)

常见的十四种Java开发工具及其特点 在计算机开发语言的历史中,从来没有哪种语言像Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该如何选择。的确,这些工具各有所长,都没有绝对完美的,就算是老鸟也很难做出选择。在本文中我简要介绍了常见的十四种Java开发工具的特点,管中窥“器”,希望能对大家有所帮助。 1、SUN公司的JDK (Java Development Kit) SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK)。开发人员和最终用户可以利用这个工具来开发Java程序。 JDK简单易学,可以通过任何文本编辑器,如:Windows记事本、UltrEdit、Editplus、FrontPage以及Dreamweaver等,编写Java源文件,然后在DOS窗口下,通过javac命令将Java源程序编译成字节码,通过java命令来执行编译后的字节码文件,这能带给DOS时代程序员美好的回忆。Java初学者一般都采用这种开发工具。 从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java(J2EE、J2SE以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。 2、SUN公司的Java Workshop Sun公司于1996年3月26日推出了Java WorkShop 1.0,这是业界出现的第一个供Internet网使用的多平台开发工具,它可以满足各公司开发Internet和Intranet网应用软件的需要。Java WorkShop完全用Java语言编写,是当今市场上销售的第一个完全的Java开发环境,目前Java WorkShop的最新版本是3.0。Java Workshop的特点表现如下: 1)结构易于创建:在创建平台中立的网格结构方面,Java Workshop比其他任何一种Java开发工具都要方便。 2)可视化编程:Java Workshop的可视化编程特性是很基本的。Java Workshop允许程序员重新安排这些操作,甚至可以确定触发操作行为 的过滤器。Java Workshop产生的模板带有许多注释,这对程序员是很 有帮助的。 此外,Java WorkShop支持JDK1.1.3以及JavaBeans组件模型,API和语言特征增加了编译Java应用程序的灵活性。Java WorkShop开发环境由于完全用Java写成,所以可移植性极好,以致于多个平台都能支持。目前Java WorkShop 支持Solaris操作环境SPARC及Intel版)、Windows 95、Windows NT、以及HP/Ux 等平台。适合于初学者进行一些简单的Java编程。Java WorkShop的缺点是Java Workshop中的每一个可视化对象都迟早会用到网格布局,这种设计方法是许多

JAVA中常用类的常用方法

JAVA中常用类的常用方法 一、https://www.doczj.com/doc/c96297590.html,ng.Object类 1、clone()方法 创建并返回此对象的一个副本。要进行“克隆”的对象所属的类必须实现https://www.doczj.com/doc/c96297590.html,ng. Cloneable接口。 2、equals(Object obj)方法 ?功能:比较引用类型数据的等价性。 ?等价标准:引用类型比较引用,基本类型比较值。 ?存在特例:对、Date及封装类等类型来说,是比较类型及对象的内容而不考虑引用的是否为同一实例。 3、finalize()方法 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 4、hashCode()方法返回该对象的哈希码值。 5、notify()方法唤醒在此对象监视器上等待的单个线程。 6、notifyAll()方法唤醒在此对象监视器上等待的所有线程。 7、toString()方法 返回该对象的字符串表示。在进行String与其它类型数据的连接操作时,自动调用toString()方法。可以根据需要重写toString()方法。 8、wait()方法 在其他线程调用此对象的notify() 方法或notifyAll() 方法前,导致当前线程等待。 二、字符串相关类 l String类 charAt(int index) 返回指定索引处的char 值。 compareTo(String anotherString) 按字典顺序比较两个字符串。 compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 concat(String str) 将指定字符串连接到此字符串的结尾。 endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 equals(Object anObject) 将此字符串与指定的对象比较。 equalsIgnoreCase(String anotherString) 将此String 与另一个String 比较,不考虑大小写。indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 length() 返回此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar 替换此字符串中出现的所有oldChar 得到的。split(String regex) 根据给定正则表达式的匹配拆分此字符串。 startsWith(String prefix) 测试此字符串是否以指定的前缀开始。 substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginIndex 处开

java常用词汇

Abstract class 抽象类:抽象类是不允许实例化的类,因此一般它需要被进行扩展继承。 Abstract method 抽象方法:抽象方法即不包含任何功能代码的方法。 Access modifier 访问控制修饰符:访问控制修饰符用来修饰Java中类、以及类的方法和变量的访问控制属性。 Anonymous class 匿名类:当你需要创建和使用一个类,而又不需要给出它的名字或者再次使用的使用,就可以利用匿名类。 Anonymous inner classes 匿名内部类:匿名内部类是没有类名的局部内部类。 API 应用程序接口:提供特定功能的一组相关的类和方法的集合。 Array 数组:存储一个或者多个相同数据类型的数据结构,使用下标来访问。在Java中作为对象处理。 Automatic variables 自动变量:也称为方法局部变量method local variables,即声明在方法体中的变量。 Base class 基类:即被扩展继承的类。HP0-538 Blocked state 阻塞状态:当一个线程等待资源的时候即处于阻塞状态。阻塞状态不使用处理器资源 Call stack 调用堆栈:调用堆栈是一个方法列表,按调用顺序保存所有在运行期被调用的方法。 Casting 类型转换 :即一个类型到另一个类型的转换,可以是基本数据类型的转换,也可以是对象类型的转换。 char 字符:容纳单字符的一种基本数据类型。 Child class 子类:见继承类Derived class Class 类:面向对象中的最基本、最重要的定义类型。350-018 Class members 类成员:定义在类一级的变量,包括实例变量和静态变量。 Class methods 类方法:类方法通常是指的静态方法,即不需要实例化类就可以直接访问使用的方法。 Class variable 类变量:见静态变量Static variable

16个超级实用的Java工具包

16个超级实用的Java工具包 一. https://www.doczj.com/doc/c96297590.html,mons.io.IOUtils closeQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块 toString:转换IO流、 Uri、 byte[]为String copy:IO流数据复制,从输入流写到输出流中,最大支持2GB toByteArray:从输入流、URI获取byte[] write:把字节. 字符等写入输出流 toInputStream:把字符转换为输入流 readLines:从输入流中读取多行数据,返回List copyLarge:同copy,支持2GB以上数据的复制 lineIterator:从输入流返回一个迭代器,根据参数要求读取的数据量,全部读取,如果数据不够,则失败 二. https://www.doczj.com/doc/c96297590.html,mons.io.FileUtils deleteDirectory:删除文件夹 readFileToString:以字符形式读取文件内容 deleteQueitly:删除文件或文件夹且不会抛出异常 copyFile:复制文件 writeStringToFile:把字符写到目标文件,如果文件不存在,则创建forceMkdir:强制创建文件夹,如果该文件夹父级目录不存在,则创建父级write:把字符写到指定文件中

listFiles:列举某个目录下的文件(根据过滤器) copyDirectory:复制文件夹 forceDelete:强制删前端的学习都是需要不断的学习,学一天停一停相当于白学,学习效果很差,如果你想有人一起学习可以来这个扣裙,首先是132 中间是667最后是127 都是零基础的同学,大家相互鼓励共同努力只是学着玩就不建议来了!!!除文件 三. https://www.doczj.com/doc/c96297590.html,ng.StringUtils isBlank:字符串是否为空 (trim后判断) isEmpty:字符串是否为空 (不trim并判断) equals:字符串是否相等 join:合并数组为单一字符串,可传分隔符 split:分割字符串 EMPTY:返回空字符串 trimToNull:trim后为空字符串则转换为null replace:替换字符串 四. org.apache.http.util.EntityUtils toString:把Entity转换为字符串 consume:确保Entity中的内容全部被消费。可以看到源码里又一次消费了Entity的内容,假如用户没有消费,那调用Entity时候将会把它消费掉 toByteArray:把Entity转换为字节流 consumeQuietly:和consume一样,但不抛异常 getContentCharset:获取内容的编码 五. https://www.doczj.com/doc/c96297590.html,ng3.StringUtils

JAVA中常用的类

public static void main(String[] args) { String str1; str1 = "你好"; // 使用字符串常量构造一个字符串 String str2 = new String("你好"); // String类中重写了父类Object类的equals方法 // String类中的equals方法比较的是字符串的内容 // 使用String类中的equals方法时,建议将字符串常量写在前面 String str3 = null; System.out.println("你好".equals(str3));//正确写法 //System.out.println(str3.equals("你好"));//错误写法 // 使用equals方法 System.out.println(str1.equals(str2));//true System.out.println(str1 == str2);//false

// 使用char数组构造一个字符串 char [] ch1 = {'a', 'b', 'c'}; String str4 = new String(ch1); System.out.println("str4: " + str4); char [] ch2 = {'a', 'b', 'c', 'd', 'e', 'f'}; String str5 = new String(ch2, 2, 2); System.out.println("str5: " + str5); // 使用byte数组构造一个字符串 //byte [] by1 = {-50, 3, 100}; byte [] by1 = "测试".getBytes(); String str6 = new String(by1); System.out.println("str6: " + str6); // String类中的equals方法和等号String str7 = "西安网星"; String str8 = "西安网星"; System.out.println(str7.equals(str8));//true

Java常用类库介绍

教学内容 第七讲Java常用类库介绍 7.1 Java类库的结构 类库就是Java API(Application Programming Interface,应用程序接口),是系统提供的已实现的标准类的集合。在程序设计中,合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、绘图、网络应用、数学计算等多方面的工作,而且可以大大提高编程效率,使程序简练、易懂。 Java类库中的类和接口大多封装在特定的包里,每个包具有自己的功能。表7.1列出了Java中一些常用的包及其简要的功能。其中,包名后面带“. *”的表示其中包括一些相关的包。有关类的介绍和使用方法,Java中提供了极其完善的技术文档。我们只需了解技术文档的格式就能方便地查阅文档。 表7.1Java提供的部分常用包 注:在使用Java时,除了https://www.doczj.com/doc/c96297590.html,ng外,其他的包都需要import语句引入之后才能使用。 7.2 https://www.doczj.com/doc/c96297590.html,ng包中的常用类

https://www.doczj.com/doc/c96297590.html,ng是Java语言最广泛使用的包。它所包括的类是其他包的基础,由系统自动引入,程序中不必用import语句就可以使用其中的任何一个类。https://www.doczj.com/doc/c96297590.html,ng中所包含的类和接口对所有实际的Java程序都是必要的。下面我们将分别介绍几个常用的类。 7.2.1 String类和StringBuffer类 许多语言中,字符串是语言固有的基本数据类型。但在Java语言中字符串通过String类和StringBuffer类来处理。 1.String类 Java语言中的字符串属于String类。虽然有其它方法表示字符串(如字符数组),但Java使用String 类作为字符串的标准格式。Java编译器把字符串转换成String对象。String对象一旦被创建了,就不能被改变。如果需要进行大量的字符串操作,应该使用StringBuffer类或者字符数组,最终结果可以被转换成String格式。 (1)创建字符串 创建字符串的方法有多种方式,通常我们用String类的构造器来建立字符串。表6.2列出了String 类的构造器及其简要说明。 表7.2 String类构造器概要 【例7.1】使用多种方法创建一个字符串并输出字符串内容。 public class StrOutput { public static void main(Sring[] args) { //将字符串常量作为String对象对待,实际上是将一个String对象赋值给另一个 String s1 = "Hello,java!"; //声明一个字符串,然后为其赋值 String s2; s2 = "Hello,java!";

Java常用工具类

Java常用工具类 一)日期工具类[DateUtil] 1.计算给定时间至今的天数: long date2day(String date) 2.得到当前年: int getYear() 3.得到当前月: int getMonth() 4.得到当前日: int getDay() 5.返回当前月(01~12): String getMonth2() 6.返回当前日(01~31): String getDay2() 7.返回指定格式的当前时间: String getDate(String format)[YYYY-MM-DD,YY-MM,YY年MM月,YY/YYYY] 8.计算某天是星期几: whatDayIsSpecifyDate(String) 9.计算两日期间相差天数: signDaysBetweenTowDate(String nowDate, String beforeDate) 10.获得当前时间(年月日时分秒): getCurrentDateTime 11.根据日期获取星座: String date2Constellation(String strDate) YYYY-MM-DD 12.根据日期获取生肖: String date2Zodica(String strDate) YYYY-MM-DD 13.根据日期获取年龄: int getAge(String strbirthDay) YYYY-MM-DD 二)文件路径工具类[FilePathUtil] 1.根据某个文件名字,查找该文件在本工程下的物理位置 : String getFilePath(String fNames) 三)数组工具类[ArrayUtil] 1.交换数组中两元素: int[] swap(int[] ints, int x, int y)

java常用类知识点总结

java常用类知识点总结 Java常用类 要求: 1、掌握String和StringBuffer的区别,可以熟练使用String和StringBuffer的各 种方法进行相关操作。 2、能够自己编写一个得到日期的操作类,并将日期进行格式化操作。 3、掌握比较器及其基本原理,并可以通过比较器进行对象数组的比较操作。 4、掌握对象克隆技术及其实现 5、能够灵活应用正则表达式对字符串的组成进行判断 6、掌握Math、Random、基本数据类型的包装类的使用 7、描述出Object System对垃圾收集的支持 8、使用NumberFormat、DecimalFormat、BigInteger、BigDecimal进行数字的操 作 String和StringBuffer String的内容一旦声明不可改变,如果要改变,改变的是String的引用地址,如果一个字符串要经常改变,必须使用StringBuffer。 在一个字符串内容需要频繁修改时,使用StringBuffer可以提升操作性能,因为StringBuffer内容可以改变,而String内容不可改变。StringBuffer支持的方法大部分与String类似。 StringBuffer常见用法: (1) 字符串的连接操作

String类可以通过“+“进行字符串的连接,而StringBuffer中却只能使用append方法进行字符串的连接,而且此方法返回一个StringBuffer类的实例,这样就可以采用代码链的形式一直调用append方法。 (2) 在任意位置处为StringBuffer添加内容 可以使用insert方法在指定位置上为StringBuffer添加内容 字符串的反转操作(较为常见的操作,使用reverse方法) (3) 替换指定范围的内容 replace方法可对指定范围的内容进行替换。在String中如果要替换,使用的是replaceAll (4) 字符串截取(使用subString方法从指定范围中截取内容) (5) 删除指定范围的字符串(使用delete方法删除指定范围内容) (6) 查找指定内容是否存在(indexOf查找指定内容,查找到返回内容的位置, 没查到返回-1) 问题:(1)String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有, 没有。因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。在这段代码中,s原先指向一个String对象,内容是 "Hello",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢,答案是没有。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"Hello world!",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。通过上面的说明,我们很容易导出另一个结论,如果经常对字符串进行各种各样的修改, 或者说,不可预见的修改,那么使用String来代表字符串的话会引起很大的内存开销。因为 String对象建立之后不能再改变,所以对于每一个不同的字符

实验5Java常用类(一)

实验5 Java类库和常用类(一) 一. 实验目的及实验环境 1理解类库的概念,掌握分析、应用类库中的类的方法。 2熟练掌握Math类的常用方法。熟悉Random类的常用方法。 3理解String类的特性,熟练掌握String类的常用方法。 4能用Date类创建对象,熟练掌握Date类的常用方法。 5熟练掌握SimpleDateFormat解析日期和设置日期输出格式。 6学会查阅Java API在线参考文档和离线文档的方法。 二. 实验内容 1 基本内容(实验前请及时熟悉如下相关内容) 1)练习使用Math类的常用方法。 2)应用String类编程练习。 3)编写程序应用Random类生成随机数。 4)练习使用Date类的常用方法。 5)查阅Java API在线参考文档和下载Java API离线文档。 示例1. 应用SimpleDateFormat类的程序示例如下,共同学们模仿参考。 import java.text.*; import java.util.Date; public class FormatDateTime { public static void main(String[] args) { SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒"); SimpleDateFormat myFmt1 = new SimpleDateFormat("yy/MM/dd HH:mm"); SimpleDateFormat myFmt2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 等价于now.toLocaleString() SimpleDateFormat myFmt3 = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒 E "); SimpleDateFormat myFmt4 = new SimpleDateFormat("一年中的第 D 天一年中第w个星期一月中第W个星期在一天中k时 z时区"); Date now = new Date();//当前时间 System.out.println(myFmt.format(now)); System.out.println(myFmt1.format(now)); System.out.println(myFmt2.format(now)); System.out.println(myFmt3.format(now)); System.out.println(myFmt4.format(now)); System.out.println(now.toGMTString());//The method toGMTString() from the type Date is deprecated. System.out.println(now.toLocaleString()); System.out.println(now.toString()); } }

六个最实用的Java开发工具推荐

六个最实用的Java开发工具推荐 IT行业每一年都会公布一份编程语言排行榜名单,虽然每年不同,但Java 语言的排名却一直靠前,深受世界各地工程师的喜爱,主要由于Java语言具有功能强大和简单易用两个特征。企业对合格的Java开发人员求贤若渴, 在各大主流招聘平台上, Java相关职位数量一直名列前茅。 很多人选择了Java大数据开发进行学习,但是要想成为一名出色的Java 开发工程师,就要学会应用各种开发工具,那么Java开发工程师都会使用哪些工具呢? Java开发者对于开发工具都有很大程度上的选择自由。但在这些数量庞大的开发工具中,仅有少数工具能在种类繁多的开发工具中脱颖而出。【Eclipse】 Eclipse 将他的工作流分成了三个部分:Workbench, Workspace,perspective。Workbench的作用就是相当于开发环境中的起点。而Workspace 将项目、文件和配置设置整合在目录下。Perspectives则是基于Workspace的环境在Workbench中有效定义工具、视图、设置。尽管初学者会觉得Eclipse 跟Netbeans和IntelliJ IDEA相比之下操作起来更加有难度,但是Eclipse的灵活性还是受到大量开发者的青睐。 【Gradle】 Gradle是一个建立在Apache Maven 和 Apache Ant 上的自动化构建工具。尽管他不是最受欢迎的自动化构建工具(Maven以64%的市场占有率稳居第一),但是它正在快速的被更多的开发者所接受。不得不提的是,他还是Android开发的默认构建工具。 【Javadoc】 Javadoc是一款由甲骨文出品的用于程序的开发文档的工具。它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过

JAVA POI通用工具类

JAVA POI数据导入导出工具类 1.Exception处理 public class ExcelException extends Exception { public ExcelException() { // TODO Auto-generated constructor stub } public ExcelException(String message) { super(message); // TODO Auto-generated constructor stub } public ExcelException(Throwable cause) { super(cause); // TODO Auto-generated constructor stub } public ExcelException(String message, Throwable cause) { super(message, cause); // TODO Auto-generated constructor stub } } 2.POI核心处理 /** * @author : SUNZK-QQ:1131341075 * @Date : 2018-8-23 下午9:13:21 * @Comments : 导入导出Excel工具类 * @Version : 1.0.0 */ public class ExcelUtil { /** * @MethodName : listToExcel * @Description : 导出Excel(可以导出到本地文件系统,也可以导出到浏览器,可自定义工作表大小) * @param list 数据源 * @param fieldMap 类的英文属性和Excel中的中文列名的对应关系

相关主题
文本预览
相关文档 最新文档