06
2018
12

JAVA学习-Java常用类Date日期类、Math数学工具类、Random随机数类

Java常用类的使用

Date日期类

Date 表示特定的时间,精确到毫秒

构造方法:

public Date()

pulic Date(long date)//参数为时间戳值

常用方法

public long getTime()//获取时间戳值

public long setTime(long time)//设置时间

public boolean before(Date when)//判断日期是否在指定日期之前

public boolean after(Date when)//判断日期是否在指定日期之后

public int compareTo(Date anotherDate)//比较,返回值有负数,0,正数

public String toString()

DateFormat日期格式化类

DateFormat是日期/时间格式化抽象类,它以与语言无关的方式格式化并分析日期或时间

日期/时间格式化子类(如SimpleDateFormat)允许进行格式化(日期转化为字符串,字符串转化为日期)

SimpleDateFormat构造方法

public SimpleDateFormat()

public SimpleDateFormat(String pattern)

常用方法

public final String format(Date date)

public Date parse(String source)

Calendar日历类

Calendar类是一个抽象类,为特定瞬间与一组诸如YEAR/MONTH/DAY_OF_MONTH/HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。瞬间可用毫秒值来表示,它是距历元(标准时间1970年1月1日0点0时0分0秒0毫秒的偏移量)

与其他语言敏感类一样,Calendar提供了一个类方法getInstance,以获得此类型一个通用的对象。Calendar的getInstance方法返回一个Calendar对象,其日历字段已由当前日期和时间初始化

常用方法

public static Canlendar getInstance()

public final Date getTime()//返回时间

public final void setTime(Date date)

public int get(int field)//获取年、月、日等

public final void set(int year,int month,int date)

public void set(int field, int value) 

public boolean before(Object when)

public boolean after(Object when)

public int compareTo(Calendar anotherCalendar)


demo:

import java.util.Date;
import java.text.DateFormat;
import java.util.Locale;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class DateDemo
{
public static void main(String[] args){
dateTest();
calendarTest();
}
public static void dateTest(){
System.out.println("____________date使用______________");
Date date=new Date();
System.out.println(date);
System.out.println(date.getTime());//offset minisecond
date.setTime(1544100330073L);
System.out.println(date);
DateFormat df1=DateFormat.getDateInstance();
DateFormat df2=DateFormat.getDateTimeInstance();
System.out.println("date:"+df1.format(date));//yyyy-MM-dd
System.out.println("datetime:"+df2.format(date));//yyyy-MM-dd HH:mm:ss
DateFormat df3=DateFormat.getDateInstance(DateFormat.LONG,new Locale("zh","CN"));
System.out.println("date:"+df3.format(date));
DateFormat df4=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,new Locale("zh","CN"));
System.out.println("datetime:"+df4.format(date));
//SimpleDateFormat
String strDate="2018-09-01 10:53:01.333";
Date d=null;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");//解析格式
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//输出格式
try{
d = sdf.parse(strDate);
}
catch(Exception ex){
}
System.out.println("SimpleDateFormat:"+sdf2.format(d));
System.out.println();
}
public static void calendarTest(){
System.out.println("____________Calendar使用______________");
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
//月从0开始,真实月份要加1
int month = calendar.get(Calendar.MONTH)+1;
System.out.println(calendar.get(Calendar.YEAR) + "-" + month+"-"+calendar.get(Calendar.DATE));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));
calendar.set(Calendar.YEAR,2017);//修改年份
month = calendar.get(Calendar.MONTH)+1;
System.out.println(calendar.get(Calendar.YEAR) + "-" + month+"-"+calendar.get(Calendar.DATE));
}
}

效果:




Java常用类的使用

Math数学工具类

Math类包含用于执行基本数学去处的方法,如绝对值、对数、平方根和三角函数。它是一个final类,其中定义的都是一些常量和静态方法

常用方法:

public static double sqrt(double d)//平方根

public static double ceil(double d)//比d大的第一个整数

public static double floor(double d)//比d小的第一个整数

public static double pow(double a,double b)//计算a的b次方

public static long round(double a)//四舍五入

public static int round(float a)//四舍五入

public static double random()//产生随机数,区间[0,1)

Random随机数类

Java中有三种产生随机数的方法

通过System.currentTimeMillis()来获取一个当前时间毫秒数的long类型数字

通过Math.random()返回一个0到1之间的double值

通过Random类来产生一个随机数,这是专业的Random工具类,功能强大

Random类中实现随机算法是伪随机,即有规则的随机,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字相同

构造方法

public Random()

public Random(long seed)

常用方法

public void nextBytes(byte[] bytes)

public int nextInt()

public int nextInt(int max)

public boolean nextBoolean()

public float nextFloat()

public double nextDouble()

public long nextLong()


demo:

import java.util.Random;
public class MathRandomDemo
{
public static void main(String[] args){
System.out.println(Math.ceil(10.35));//向上取整
System.out.println(Math.floor(10.55));//向下取整
System.out.println(Math.pow(2,3));//2的3次方
System.out.println(Math.round(10.6));//四舍五入
System.out.println(Math.random());//随机数
System.out.println();
//如果给了固定种子,每固定次数生成的随机数都一样
//System.currentTimeMillis()
Random random = new Random(System.currentTimeMillis());
System.out.println(random.nextInt());
System.out.println(random.nextInt(100));//产生100内的随机数
System.out.println(random.nextDouble());
}
public static void dateTest(){
//System.out.println("____________date使用______________");
}
}

效果:



版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。