对象和类,日历

package com.xiaolu;
import java.text.DateFormatSymbols;
import java.util.*;
/**
 * @version 1.4 2007-04-07
 * @author Wusicheng
 */
public class HelloWorld {
        public static void main(String[] args)
        {
            //construct d as current date
            GregorianCalendar d = new GregorianCalendar();
            
            int today=d.get(Calendar.DAY_OF_MONTH);
            int month=d.get(Calendar.MONTH);
            
            //set d to start date of the month
            d.set(Calendar.DAY_OF_MONTH,1);
            int weekday=d.get(Calendar.DAY_OF_WEEK);
            
            //get first day of week(Sunday on U.S.)
            int firstDayOfWeek=d.getFirstDayOfWeek();
            
            //determine the required indentation for the first line
            int indent=0;
            while(weekday!=firstDayOfWeek)
            {
                indent++;
                d.add(Calendar.DAY_OF_MONTH, -1);
                weekday=d.get(Calendar.DAY_OF_WEEK);
            }
            
            //print weekday names用于输出日历表
            String[] weekdayNames=new DateFormatSymbols().getShortWeekdays();
            do
            {
                System.out.printf("%4s",new Object[]{weekdayNames[weekday]});
                d.add(Calendar.DAY_OF_MONTH,1);
                weekday=d.get(Calendar.DAY_OF_WEEK);//output the day form Sunday to xinqiliu
            }
            while(weekday!=firstDayOfWeek);
            System.out.println();
            for(int i=1;i<=indent;i++)
                System.out.print("    ");//make ture the first day
            
            d.set(Calendar.DAY_OF_MONTH, 1);
            do
            {
                //print day
                int day=d.get(Calendar.DAY_OF_MONTH);
                System.out.printf("%3d",day);
                
                //mark current day with*
                if(day==today)System.out.print("*");
                else System.out.print(" ");
                
                //advance d to the next_day
                d.add(Calendar.DAY_OF_MONTH,1);
                weekday=d.get(Calendar.DAY_OF_WEEK);
                
                //start a new line at the start of the week
                if(weekday==firstDayOfWeek)System.out.println();
            }
            while (d.get(Calendar.MONTH)==month);
            //the loop exits when d is day 1 of the next month
            
            //print final end of line if necessary
            if(weekday!=firstDayOfWeek)System.out.println("");
        }
    }

时间: 2024-08-09 02:18:48

对象和类,日历的相关文章

关于JAVA核心技术(卷一)读后的思考(对象与类,日历的构造)

关于这本书,前三张都是基本内容,我觉得个人掌握的还可以,所以从第四章开始整理每日所学. 第四章主要说的是对象和类.第一部分是面向对象程序设计的概述.其中面向对象程序设计简写OOP,接下来写的是类,即构造对象的模板,由类构造对象的过程称创建类的实例(instance)这里可以想到instanceof,这也在后面学习中会有提到 封装是将数据和行为组合到一个包中,并对对象的使用者隐藏了数据的实现方式.数据成为实例域,操纵数据的过程称为方法.封装赋予了对象"黑盒"的特征,这是提高重用性和可靠性

[Java学习笔记]-Java对象和类

Java是完全面向对象的高级语言,其基本的操作基本都是针对相应的对象和类.面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分.对应面向对象的语言,还有一种面向过程的语言,如C语言.面向对象的语言是在面向过程语言的基础上发展而来的.面向对象(OOP,全称为Object-Oriented-Programer,下文简称为OOP)相对于面向过程的语言而言,其优势在于很多问题的解决方法被封装在对象里,有时只需要创建这样的对象就可以解决我们的问题,而不必关心其具体实现细节,这

java基础知识-对象和类

前言: 因为要准备Java面试,所有将java基础知识点重新复习一遍,主要笔记来源于菜鸟教程和java核心技术的书籍中,也有一些博客上的资料(这些只供我个人学习使用) Java 对象和类 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 下图中男孩女孩为类,而具体的每个人为该类的对象: 1.Java中的对象 现在让我们深入了解什么是对象.看看周围真实的世界,会发现身边有很多对象

Java核心技术(三) —— 对象与类(1)

本文将对Java程序设计的对象和类进行深入详细介绍,主要涉及以下内容: - 面向对象程序设计 - 如何创建标准Java类库中的类对象 - 如何编写自己的类 1.OOP概述 面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分.在OOP中,不必关心对象的具体实现,只要能够满足用户的需求即可. OOP中,数据是第一位的,然后再考虑操作数据的算法. 1.1 类 类是构造对象的模板或蓝图,可以将类想象成制作小甜饼的切割机,将对象想象成小甜饼.由类构造对象的过程称为创建类的实

Java 常用对象-Date类和Calender类

2017-11-02 22:29:34 Date类:类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串.Date 中的相应方法已废弃. Calender类:Calendar 类是一个抽象

对象和类

对象和类 一.对象的特征 1.属性--对象具有各种特征 2.每个对象的每个属性都有特定值 3.方法--对象执行的操作 4.对象:用来描述客观事物的一个实体,由一组属性和方法构成 二..类 类是模子,定义对象将会拥有的特征(属性)和行为(方法) 类是对象的类型--不同于int类型:具有方法 三.类和对象的关系   类是抽象的概念,仅仅是模板   对象是一个看得见摸得着的具体实体 四.如何创建对象和使用对象 使用对象的步骤 a.创建对象 类名  对象名=new 类名(): b.引用对象成员:使用".

第九章 对象和类

对象和类 一 对象和类 类是模子,确定对象将会拥有的特征(属性)和行为(方法): 类是相同属性和方法的一组对象的集合: 类是对象的类型: 1. 属性 特定的值或特征. 2. 方法 对象执行的操作,就是能做什么. 3. 定义类 JAVA程序都以类class为组织单元: 组成:属性和方法: 4. 成员变量与局部变量的区别 作用域不同: 初始值不同:Java会给成员变量默认一个初始值,而局部变量则不会: 同一个方法中不允许存在同名的局部变量名,而在不同方法中则可以: 就近原则:局部与成员同名了,优先取

面向对象的对象和类的确定

面向对象是一种来自软件设计的软件技术,更是一种成熟的思想,而世间万物都是对象,所以这种思想放之四海而皆准.在软件设计中,面向对象的技术已经成为软件开发的主流,使得计算机能够以更加符合人类思维的方式解决问题. 对象是客观世界的组成,像我们看到的每个东西都可以认为是一个对象,板凳是一个对象,桌子是一个对象等等:每个对象都有自己的数据和操作,状态和行为.这些描述的名词意思相近,都是用来对数据进行描述的.板凳自己的重量高度等都是板凳这个对象的数据:板凳的操作和行为都是板凳的一种属性,板凳的作用是被用来坐

Swift中文教程(五)--对象和类

原文:Swift中文教程(五)--对象和类 Class 类 在Swift中可以用class关键字后跟类名创建一个类.在类里,一个属性的声明写法同一个常量或变量的声明写法一样,除非这个属性是在类的上下文里面,否则,方法和函数的写法也是这样: 1 class Shape { 2 var numberOfSides = 0 3 func simpleDescription() -> String { 4 return "A shape with \(numberOfSides) sides.&q

.NET 基础 一步步 一幕幕[面向对象之对象和类]

对象和类 本篇正式进入面向对象的知识点简述: 何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静.可见"万物皆对象". 对象:包含数据和操作的实体.   面向过程:面向的是完成这件事儿的过程,强调的是完成这件事儿的动作.   举例:把大象塞进冰箱里 1.打开冰箱门 2.把大象塞进去 3.关闭冰箱门 如果我们用面向对象的思想来解决这件事儿,当执行这件事的人的不同的时候,我们需要为每个不同的人量身定做解决事情的方法. 面向对象:找