Java8——数字操作类+日期操作类

Math类:

在Math类里面提供的方法都是static型的方法;因为Math类没有普通方法,

public class test {
	public static void main(String args[]) {
		System.out.println(Math.round(15.5));	//16
		System.out.println(Math.round(-15.5));	//-15
		System.out.println(Math.round(-15.51));	//-16
	}
}

如果进行负数的四舍五入时,操作的数据的小数位大于0.5才进位,小于等于0.5不进位

Random类:

public class test {
	public static void main(String args[]) {
		Random rand = new Random();
		for (int x = 0; x < 10; x++) {
			System.out.print(rand.nextInt(100) + "、");    //0~99可以选
		}
	}
}

Random类可以实现随机数;

BigInteger:

有2个很大的数据(超过了double)进行计算,你应该怎么做?

利用String可以准确的保存;如果两位数字真的很大需要进行计算,那么应该将其变为String类型,然后按位取出每一个字符保存的数据进行运算;

大数据进行操作有 2 种,分别是 BigInteger 和 BigDecimal (大浮点型)两种

BigDecimal:

BigDecimal本身也支持大量的数据运算,它有一个更好的用处:准确的实现四舍五入操作;之前使用过的Math.round()方法实现的四舍五入操作,所有的小数位都被四舍五入了

BigDecimal里面没有直接提供四舍五入的操作,但是可以使用除法实现;

class MyMath {
	/**
	 * 实现准确位数的四舍五入计算
	 * @param num 要进行四舍五入计算的数字
	 * @param scale 要保留的小数位
	 * @return 处理后的四舍五入数据
	 */
	public static double round(double num, int scale) {
		BigDecimal bigA = new BigDecimal(num);
		BigDecimal bigB = new BigDecimal(1);
		return bigA.divide(bigB, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
	}
}

public class test {
	public static void main(String args[]) {
		System.out.println(MyMath.round(19.555655547781, 2));
	}
}

Date类:

java.util.Date的类表示当前时间;

几个重要方法:

  • 无参构造方法:public Date();
  • 有参构造方法:public Date(long date),接收long型数据;
  • 转换为long型:public long getTime(),date型数据转换为long型数据;

日期处理:SimpleDateFormat

主要使用的几个方法:(很重要)

  • 构造方法:public SimpleDateFormat(String pattern),需要转换模式;
  • 将Date转换为String,public final String format(Date date)
  • 将String转换为Date,public date parse(String source)throws ParseException

对于常见的转换单位:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS)

import java.text.SimpleDateFormat;
import java.util.Date;

public class test {
	public static void main(String args[]) {
		Date date = new Date();
		SimpleDateFormat adf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss-SSS");
		String str = adf.format(date);
		System.out.println(str);
	}
}

关于数据类型转换总结:

  • Date与String类之间的转换依靠的是SimpleDateFormat;
  • String与基本类型之间的转换依靠的是包装类与String.valueOf()方法;
  • long与Date转换依靠的是Date提供的构造以及getTime()方法;

Calendar类:

主要进行简单的日期计算;

这是一个抽象类,应该依靠子类进行对象的实例化操作;但是这个类里面有一个方法返回正是本类对象;

import java.util.Calendar;

public class test {
	public static void main(String args[]) {
		Calendar cal = Calendar.getInstance();// 取得本类对象
		StringBuffer buf = new StringBuffer();
		buf.append(cal.get(Calendar.YEAR)).append("-");
		buf.append(cal.get(Calendar.MONTH) + 1).append("-");
		buf.append(cal.get(Calendar.DAY_OF_MONTH)).append(" ");
		buf.append(cal.get(Calendar.HOUR_OF_DAY)).append(":");
		buf.append(cal.get(Calendar.MINUTE)).append(":");
		buf.append(cal.get(Calendar.SECOND));
		System.out.println(buf);
	}
}

可以对日期进行一些简单的运算;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值