Java——Random类,BigInteger类,BigDecimal类,Date类,SimpleDateFormat类等一些常用类的学习

38 篇文章 1 订阅

紧接着正则表达式的学习,可以前往这里回顾一下。https://blog.csdn.net/zoweiccc/article/details/78089467

对于一些常见类的学习,对他们构造方法和一些常用的方法进行学习。从而使在开发的过程,效率更高。

package pra_08;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
public class J_16 {
	public static void main(String[] args) throws ParseException {
		math();			//Math类的使用
		random();		//Random类的使用
		
		//System类
		for(int i=0;i<100;i++){
		new Finalize();
		System.gc();		//运行垃圾回收器
		}
		
		//System.exit(0);		//非0状态是异常终止,退出jvm
		System.out.println("aaaa");//执行不到这一步
		
		long start=System.currentTimeMillis();	//获取当前时间的毫秒值
		for(int i=0;i<1000;i++){
			System.out.println(i);
		}
		long end=System.currentTimeMillis();
		System.out.println(end-start);
		
		int[] src={1,2,3,4,5,6,7};
		int[] dest=new int[8];
		System.arraycopy(src, 0, dest, 0,src.length);	
                //从src的第0个元素开始向dest(从这个的第0个位置开始拷贝)拷贝src.length个元素。
		
		//BigInteger类的使用,大数类
		BigInteger big=new BigInteger("302");
		BigInteger big2=new BigInteger("231");
		System.out.println(big.add(big2));
		System.out.println(big.subtract(big2));
		System.out.println(big.multiply(big2));
		System.out.println(big.divide(big2));
		
		BigInteger[] arr=big.divideAndRemainder(big2);	
                    //求%的运算,返回的是一个数组,取得是除数和余数

		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);					//1和71
		}
		
		//BigDecimal类的使用,精度高一点的小数
		BigDecimal bd=new BigDecimal(23.0);
		BigDecimal bd2=new BigDecimal(2.9);
		System.out.println(bd.subtract(bd2));		//这种方式不够精确
		
		BigDecimal bd3=new BigDecimal("23.0");
		BigDecimal bd4=new BigDecimal("2.9");		//通过构造中传入字符串的方式,精确更高一点
		System.out.println(bd3.subtract(bd4));
		
		BigDecimal bd5=BigDecimal.valueOf(23.0);
		BigDecimal bd6=BigDecimal.valueOf(2.9);
		System.out.println(bd5.subtract(bd6));			//这种方式也可以,精度很高
		
		//Date类的使用
		Date d1=new Date();								//空参构造,没传参数,表示当前时间					
		System.out.println(d1); 						//Thu Sep 13 18:48:22 CST 2018
		
		Date d2=new Date(0);							//参数传为0
		System.out.println(d2);							//Thu Jan 01 08:00:00 CST 1970
		
		Date d3=new Date();
		System.out.println(d3.getTime());		//通过时间对象获取毫秒值
		
		Date d4=new Date();
		d4.setTime(1000);								//设置毫秒值,改变时间对象
		System.out.println(d4);
		
		//SimpleDateFormat类实现日期和字符串的相互转换(日期格式化类)
		Date d5=new Date();		//获取当前时间对象
		SimpleDateFormat sdf=new SimpleDateFormat();	//获取日期格式化类对象
		System.out.println(sdf.format(d5)); 			//18-9-13 下午7:11
		
		Date d6=new Date();
		SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
                    //创建日期格式化对象
		System.out.println(sdf2.format(d6));
		    //将时间字符串转换成日期对象
		String str2="2018年05月20日 08:05:20";
		SimpleDateFormat sdf3=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		Date d7=sdf3.parse(str2);			
                    //将时间字符串转换成日期对象
		System.out.println(d7);
		
		//Calendar类日历类方法的实现
		Calendar ca=Calendar.getInstance();	
                    //抽象类还能用,说明父类引用指向子类对象

		System.out.println(ca.get(Calendar.YEAR));	 
                    //get()函数的参数	2018
		System.out.println(ca.get(Calendar.MONTH));	 
                    //get()函数的参数	8    从0开始编号,实际上是9
		System.out.println(ca.get(Calendar.DAY_OF_MONTH));	
			//add()和set()方法
		Calendar ca2=Calendar.getInstance();
		ca2.add(Calendar.YEAR, 1);				//year加+1
		System.out.println(ca2.get(Calendar.YEAR));				
		
		ca2.set(Calendar.YEAR, 1998);							//修改指定字段
		System.out.println(ca2.get(Calendar.YEAR));	
		ca2.set(2000, 7, 8);					//设置2000:7 :8
		System.out.println(ca2.get(Calendar.MONTH));
		
	}
	//Math类的使用
	public static void math(){
		System.out.println(Math.PI);
		System.out.println(Math.abs(-10));
		System.out.println(Math.ceil(12.4)); 	//向上取整
		//System.out.println(Math.floor("13.2"));	//向下取整
		System.out.println(Math.max(1, 3));	 	//获取最大值
		System.out.println(Math.min(3, 4)); 	//获取最小值
		System.out.println(Math.pow(2, 3));  	//2的3次方
		System.out.println(Math.random());		//生成[0,1)之间的小数
		System.out.println(Math.round(12.5));	//四舍五入
		System.out.println(Math.sqrt(4));	 	//开方 
	}
	//Random类的使用
	public static void random(){
		Random ran=new Random();
		int x=ran.nextInt();
		int z=ran.nextInt(100);			//生成的数字在0到99之间
		System.out.println(x);
		System.out.println(z);
		
		Random ran2=new Random(1000);	//调用种子生成的随机数,调用两遍值还是不变
		int y=ran2.nextInt();
		System.out.println(y);
	}
}

class Finalize{
	protected void finalize()  {
		System.out.println("垃圾清扫完毕");
	}
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值