Math,日期相关的类(Date,Calendar, LocalDate类)

Math

final修饰,构造方法是私有的,方法static修饰。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
常用方法

//常用方法(ceil、floor返回都是double类型)
	public static void test() {
		//取整 ,返回大于目标数的最大整数
		System.out.println(Math.ceil(4.8)); //5.0
		//取整 ,返回小于目标数的最小整数
		System.out.println(Math.floor(4.8));   //4.0
	}
	
	//笔试题
	public void test(){
		if(5>Math.floor(4.8)){
			System.out.println("==");
		}else if(5<Math.ceil(4.8)){
			System.out.println("===");
		}else{
			
		}
	}
    //常用方法
	public static void test2() {
		//找出最大值
		System.out.println(Math.max(2.3 , 4.5));    //4.5
		// 四舍五入取整
		System . out .println("Math.round(2.3 ): " + Math.round(2.3));   //Math.round(2.3 ): 2
		// 返回1个伪随机数,该值大于等于0.0小于1.0   [0,1)
		System. out. println ("Math.randorn(): " + Math.random()) ;  //Math.randorn(): 0.4405422288588675

	}
	//Random 类生成随机数
	public static void test3() {
		Random random=new Random();
		int i=random.nextInt(10); //[0,10)
		System. out. println (i); 
	}
	//随机数int.猜数游戏
	public static void test4() {
		Random random=new Random();
		int i=random.nextInt(10); //[0,10)
		Scanner sc=new Scanner(System.in);
		while(true) {
			System. out. println ("请输入一个数:"); 
			int num=sc.nextInt();
		    if(num>i) {
			     System. out. println ("大于随机数"); 
		    }else if(num>i){
			     System. out. println ("小于随机数"); 
		    }else{
			     System. out. println ("猜对了!!!"); 
		         break;
	     	}
	    }	
	}

日期相关的类

Date

Java提供了Date类来处理日期、时间(此处的Date是指java.util包下的Date类,而不是java.sql包下的Date类)。
Date类提供了6个构造器,其中4个已经Deprecated (Java 不再推荐使用),剩下的两个构造器如下。
➢Date(): 生成一个代表当前日期时间的Date对象。该构造器在底层调用System.currentTimeMillis()获得long整数作为日期参数。
➢Date(long date);根据指定的long型整数来生成-一个 Date对象。该构造器的参数表示创建的Date对象和GMT 1970年1月1日00:00:00 之间的时间差,以毫秒作为计时单位。

为了更好地格式化日期、解析日期字符串,Java 提供了SimpleDateFormat 类。
SimpleDateFormat是DateFormat 的子类,正如它的名字所暗示的,它是“简单”的日期格式器。很多人对“简单"的日期格式器不屑一顾,实际上SimpleDateFormat比DateFormat更简单,功能更强大。
创建SimpleDateFormat对象时需要传入一个pattern 字符串,这个patterm不是正则表达式,而是一个日期模板字符串

//Date
	public static void test() {
		System.out.println(new Date());   //Wed Jul 29 10:18:31 CST 2020
	}
	public static void test1() throws ParseException {
		//日期和字符串的转换
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  //大小写要区分
		//把日期date类型转成字符串
		System.out.println(sdf.format(new Date()));   //2020-07-29 10:34:32
		//把字符串类型的日期转成日期Date类型(格式必须是规范时的格式,否则报异常)
		String strDate="2020-07-29 10:34:32";
		System.out.println(sdf.parse(strDate));    //Wed Jul 29 10:34:32 CST 2020
	}

Calendar类

因为Date 类在设计上存在一些缺陷,所以Java 提供了Calendar 类来更好地处理日期和时间。Calendar是一个抽象类由子类创建对象),它用于表示日历。
Calendar与Date都是表示日期的工具类,它们直接可以自由转换,如下代码所示。

        //创建一个默认的Calendar对象
        Calendar c=Calendar.getInstance();
		System.out.println(c);  
		//int get(int field):返回指定日历字段的值。
		//2020-7-29
		System.out.println(c.get(Calendar.YEAR)+
				"-"+(c.get(Calendar.MONTH)+1)+
				"-"+c.get(Calendar.DAY_OF_MONTH));  
	    
		//从Calendar对象中取出Date对象(Calendar——>Date)
		System.out.println(c.getTime()); //Wed Jul 29 11:04:23 CST 2020

执行System.out.println©; 结果如下:
在这里插入图片描述
所以Calendar类的month是从0开始

LocalDate类

jdk 8 新增的时间日期类
final修饰的类可以创建对象,LocalDate有private修饰的构造方法)

        //jdk 8 新增的时间日期类
        LocalDate d=LocalDate.now();
		LocalTime t=LocalTime.now();
		LocalDateTime dt=LocalDateTime.now();
		System.out.println(d);  //2020-07-29
		System.out.println(t);  //11:07:35.618369400
		System.out.println(dt);   //2020-07-29T11:07:35.618369400
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值