应用LocalDay类实现显示当月日历

应用LocalDay类实现显示当月日历

Java代码实现

import java.time.*;
public class CalenderTest {
    public static void main(String[] args) {
        LocalDate date = LocalDate.now();
        //第一个LocalDate表示数据类型(返回值类型),第二个LocalDate表示构造函数
        int month = date.getMonthValue();
        int today = date.getDayOfMonth();
        //getYear、getMonthValue()、getDayOfMonth()数据类型为Int
        
        date = date.minusDays( today - 1 );//将date转化为本月第一天
        //minusDays方法数据类型为LocalDate
        DayOfWeek weekday = date.getDayOfWeek();
        //getDayOfWeek()数据类型是DayOfWeek
        int value = weekday.getValue();
        //getValue()表示将数据类型由DayOfWeek转化为int
        
        System.out.println("Sun Mon Tue Wed Thu Fri Sat");
        for(int i = 0;i<value;i++) System.out.print("    ");
        while(date.getMonthValue()==month){//用月份是否为本月作为循环判断条件
            System.out.printf("%3d",date.getDayOfMonth());
            
            if(date.getDayOfMonth()==today) System.out.print("*");
            else System.out.print(" ");
           
            date = date.plusDays( 1 );
           
            if(date.getDayOfWeek().getValue()==7) System.out.println();
        }

    }
}

对象和对象变量知识点

  • 由类构造对象的过程称为创建类的实例,要用构造器(构造函数)构造新的实例,构造器名字应与实例名字相同
Date birthday = new Date();
//第一个Date是变量类型,第二个Date是构造函数
//birthday是对象变量,并没有实际包含对象,只是引用对象
//new Date()构造Date类型对象,new 的值是对新创建的对象的引用
//birthday = new Date()将引用储存在变量birthday中
  • LocalDate类
    LocalDate.now()构造一个新对象,表示构造这个对象时的日期
    getYear、getMonthValue()、getDayOfMonth()得到年月日,数据类型为Int(getMonth方法虽然也返回一个值,但它的本质是对象,getMonth().getValue==getMonthValue())
    LocalDate minusDays(n)生成当前日期前n天的日期
    DayOfWeek getDayOfWeek()方法返回值类型是DayOfWeek
    LocalDate plusDays()表示加n天,该方法会生成一个新的LocalDate对象,原对象不会有任何改动

  • printf & print & println
    printf类似C语言用法,可以加入类似”%3d“形式
    print与println的区别在于:println会自动换行,而print不会

  • import与使用方法的关系
    以getDayOfWeek方法为例,getDayOfWeek()返回值类型是DayOfWeek,在LocalDate类中,调用该方法需要import LocalDate类
    import java.time.*;或import java.time.LocalDate;

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值