JAVA常用工具类 联系客服

发布时间 : 星期一 文章JAVA常用工具类更新完毕开始阅读

例如:ceil(123.15) 结果为 124.0 floor(123.91) 结果为123.0

static double rint(double arg) //返回对arg四舍五入的浮点数(小数位始终为.0) static int round(float arg) //返回对arg四舍五入后的最近的整数

static long round(double arg) //返回对arg四舍五入后的最近的长整数 练习:

1.输入出租车公里数,输出应付的车费数:

收费标准如下:3000米以下为8元,每超过500米增加1.2元,不足500米按500米计算。 2.竹竿长10米,每天截取一半,过多少天后,竹竿长度会小于10厘米。

3.写一个实例方法,要求输入一个整数 m ,并输出1---m之间满足下列条件的所有整数: 这个数+1 是一个完全平方数,他的一半+1也是一个完全平方数。

4.编写一个方法:double round(double m ,int n)将m四舍五入 到小数点后第n位。如果对 m 进行7舍8入又如何实现呢?

5. 写一函数:实现对任意双精度数,四舍五入到指定的小数位数。 public static double round2(double d,int n){ }

Random类

该类用于产生随机数,在java.util包中 一.构造函数: Random() Random(long seed) 二.方法: int nextInt(int max) 产生一个0~~max-1之间的32位随机数

long nextLong(long max)产生一个0~~max-1之间的64位随机数 float nextFloat() 产生一个0.0---1.0之间的单精度随机数(<1.0) double nextDouble()产生一个0.0---1.0之间的双精度随机数(<1.0) boolean nextBoolean() 产生一个布尔随机数(true,false)

void nextBytes(byte[] b) 产生一个随机byte数组, 注意:bye[] 数组必须分配存储空间 例如,随机产生一个小写字母 Random rand=new Random(); int n=rand.nextInt(26)+97 //97=?a?

char c=(char)n;//转换为字母 练习:

1. 生成0—9之间的随机整数,并统计个数出现的次数 2. 设计一个类,并提供一个实例方法nextInteger(int m,int n),用以返回m—n(不含n) 之

间的随机数.

3. 从Random 派生一个类 RandomExt,该类提供一个实例方法:nextInteger(int m,int n),

用以返回m—n(不含n) 之间的随机数.

4. 用Random类产生一个具有n个随机英文字符构成的字符串。

5. 编写一个函数,产生n个字符构成的字符串。假设要产生的字符仅有1,5,A,D,P,X,

字符组成。

Date类

表示日期和时间,在java.util包中 一.构造函数:

Date() //用当前时间初始化实例。 Date(long date) // date 为毫秒 Date(int year, int month, int day) 二.方法:

setTime(long date) // date 为毫秒,设置时间 long getTime() //转换为毫秒数

static Date valueOf(String s) //转换字符串格式的日期为Date

三.相关类SimpleDateFormat 用于格式化日期,在java.text包中

1.构造函数: SimpleDateFormat(String FormatString);

参数FormatString常用样式为

y或 yy 表示年份; yyyy 表示世纪和年份 m 或MM 表示月份 d 或dd 表示天 H 或HH 表示 小时 m 或 mm 表示 分 s 或ss 表示 秒

E 表示字符串输出的星期

2.操作方法: 2.1. 根据构造函数中的格式将Date对象输出为字符串。 String format(Date d);

例如:

SimpleDateFormat sf=new SimpleDateFormat(\ Date d=new Date(); String DateString=sf.format(d); //返回类似的日期 2005-08-07 07:10:24 2.2.设置解析字符串日期时是否严格检查日期字符串 setLenient(boolean b);

b=true 接收月份和日的无效数字

b=false 不接收月份和日的无效数字,严格检查

2.3. 根据构造函数中的格式解析字符串日期为date类型 Date parse(String dateString )throws Exception;

如果dateString不能解析为正确的Date类型,则抛出异常,利用这一

点,可以检查字符串日期的有效性。

四.相关类DateFormat 用于格式化日期,在java.text包中

1. 静态方法

DateFormat getDateTimeInstance(int dateStyle,int timeStyle,Locale alocal) 该方法用于获得一个DateFormat实例. dateStyle 日期类型,通常取常数DateFormat.LONG timeStyle 时间类型,通常取常数DateFormat.LONG alocal 地区常数 ,通常取常数Locale.CHINA(中国), Locale.US(美国)

2 . 实例方法 String format(Date d) 用格式去格式化参数 Date 对象,并返回字符串. 例如:

DateFormat df=DateFormat.getDateTimeInstance(DateFormat.LONG,

DateFormat.LONG,Locale.CHINA);

System.out.println(df.format(new Date())); //按中国格式显示日期时间

Calendar 类

本类提供了月历功能,但这些功能都是由其子类GregorianCalendar实现的。 一.GregorianCalendar类的常用方法:

1.构造函数: GregorianCalendar(); 用当前系统日期初始化对象

2.方法: 2.1. 获得日期的各个部分

int get(int field) 返回与field相关的日期,field是Calendar中定义的常数(见静态字段)

例如:get(Calendar.MONTH) 返回月份(1月份,返回 0,2月份,返回 1,。。。)

2.2. 修改日期的各个部分

void set(int field,int value) 将field表示的日期替换为value值

例set(Calendar.YEAR,2000);将年份设定为2000年 2.3. 重新设置新的日期

final void set(int year,int value) //设置年/月/日 的值为value final void set(int year,int month,int date) //设置年月日

final void set(int year,int month,int date, int hour,int minute) //设置年月日时分秒 final void set(int year,int month,int date, int hour,int minute,int second) 设置年月日时分秒和毫秒

2.4. 获得对象毫秒数 long getTimeInMillis(); 例: GregorianCalendar gre=new GregorianCalendar(); //获得实例 String now=gre.get(Calendar.YEAR)+\ gre.get(Calendar.DATE)+\

二.Calendar类

1.获得Calendar实例

Calendar Calendar.getInstance(); 返回一个Calendar实例 2.方法: 2.1. 转换为其它类型

Date getTime(); //获得日期

long getTimeMillis() //转换为毫秒 2.2. 增加日期的某个部分

void add(int field,int amount) 将field代表的内容增加amount

2.3. 返回field 表示日期部分的最大值

int getMaximum(int field)返回field的最大值

2.4. 设置日期

setTime(Date date) //设置日期

三.静态字段:

YEAR, MONTH , DATE(DAY_OF_MONTH) 分别表示年月日

HOUR MINUTE SECOND,MILLISECOND 分别表示时分秒和毫秒,HOUR 为12小时制 HOUR_OF_DAY表示一天中的第几时(为24小时制) DAY_OF_YEAR 表示一年中的第几天 WEEK_OF_YEAR 表示一年中的第几周 WEEK_OF_MONTH 表示一月中的第几周 DAY_OF_WEEK 表示一周中的第几天(1 表示星期日,2 表示星期一,。。。) 例:获得当前日期和时间 Calendar cal=Calendar.getInstance(); int year=cal.get(Calendar.YEAR); // int month=cal.get(Calendar.MONTH)+1; int day=cal.get(Calendar.DAY_OF_MONTH); String sDate=year+\

cal.get(Calendar.MINUTE)+\

练习:

1. 计算2007.7.10与1971.6.1之间相差的天数。

2. 设计一个方法,返回当前时间距离北京奥运会(2008年8月8日)相距的天数。 3. 编写一个方法,计算888天之后的日期。

4. 编写一个方法,计算你出生的那一天是星期几。并显示你从出生到现在每年过生日

那一天的星期数,同时统计出最多的星期几

5. 设计一个类,并提供一个静态方法,可以用于计算两个日期之间相差的年、月、季

度、天、小时等。

gre.get(Calendar.MINUTE)+ \System.out.println(now); //显示当前日期时间

java.util.Arrays类

本类提供了数组整理,比较及检索功能。它的所有方法都是静态的