4-1
Posted i2019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4-1相关的知识,希望对你有一定的参考价值。
1 package com.cj.CalendarTest; 2 3 import java.text.DateFormatSymbols; 4 import java.util.Calendar; 5 import java.util.GregorianCalendar; 6 7 public class CalendarTest 8 /** 9 * 4-1 10 * Java是完全面向对象的,面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。 11 * 类(class)是构造对象的模板或蓝图。由类构造(construct)对象的过程称为创建类的实例(instance)。 12 * 对象中的数据称为实例域(instance field),操纵数据的过程称为方法(method)。 13 * 并不是所有的类都具有面向对象特征。如Math类 14 * 要想使用对象,就必须首先构造对象,并指定其初始状态,然后对对象应用方法。 15 * 构造器是一种特殊的方法,用来构造并初始化对象。构造器的名字应该与类名相同,如Date, 16 * 要想构造一个Date对象,需要在构造器前面加上new操作符。 如new Date() 这个表达式构造了一个新对象。 17 * Date birthday new Date(); 18 * Date deadline; 19 * 初始化对象变量 1:用新构造的对象初始化这个变量 deadline = new Date();2:让这个变量引用一个已存在的对象 deadline = birthday; 20 * 一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。在Java中任何对象变量的值都是对存储在另外一个地方的一个对象的引用。 21 * new操作符的返回值也是一个引用。 22 * Date deadline = new Date(); 的各部分说明如下 23 * 表达式new Date()构造了一个Date类型的对象,并且它的值是对新创建对象的引用。 24 * deadline 对象变量,new Date()的引用存储在变量deadline中 25 * Date 对象的类型 26 * 局部变量不会自动地初始化为null,而必须通过调用new或将它们设置为null进行初始化。所有的Java对象存储在堆中。 27 * get方法仅仅查看并返回对象的状态,而set和add方法却对对象的状态进行修改。 28 * 访问器方法get,更改器方法set 29 * 30 * @param args 31 */ 32 public static void main(String[] args) 33 //构造一个日历对象,并用当前的日期和时间进行初始化 34 GregorianCalendar d = new GregorianCalendar(); 35 //获得当前的日,月 。6月15日 36 int today = d.get(Calendar.DAY_OF_MONTH); 37 int month = d.get(Calendar.MONTH); 38 //将d设置为这个月的第一天,并得到这一天为星期几 39 d.set(Calendar.DAY_OF_MONTH,1); 40 int weekday = d.get(Calendar.DAY_OF_WEEK); 41 //getFirstDayOfWeek方法获得当前地区星期的起始日 为1 42 int firstDayOfWeek = d.getFirstDayOfWeek(); 43 //缩进 44 int indent = 0; 45 while(weekday!=firstDayOfWeek) 46 indent++; 47 d.add(Calendar.DAY_OF_MONTH, -1); 48 weekday = d.get(Calendar.DAY_OF_WEEK); 49 50 String[] weekdayNames = new DateFormatSymbols().getShortWeekdays(); 51 do 52 System.out.printf("%4s", weekdayNames[weekday]); 53 d.add(Calendar.DAY_OF_MONTH, 1); 54 weekday = d.get(Calendar.DAY_OF_WEEK); 55 56 while(weekday!=firstDayOfWeek); 57 System.out.println(); 58 for(int i=1;i<=indent;i++) 59 System.out.print(" "); 60 61 d.set(Calendar.DAY_OF_MONTH,1); 62 do 63 int day = d.get(Calendar.DAY_OF_MONTH); 64 System.out.printf("%5d",day); 65 if(day == today) 66 System.out.print("*"); 67 else 68 System.out.print("^"); 69 70 d.add(Calendar.DAY_OF_MONTH,1); 71 weekday = d.get(Calendar.DAY_OF_WEEK); 72 if(weekday == firstDayOfWeek) 73 System.out.println(); 74 75 while(d.get(Calendar.MONTH)==month); 76 if(weekday != firstDayOfWeek) 77 System.out.println(); 78 79 80 81 82 83
以上是关于4-1的主要内容,如果未能解决你的问题,请参考以下文章