控制台程序. java.util包中含有相当多的类涉及日期和时间,包括Date类.Calendar类和GregorianCalendar类. Date类对象其实定义了精确到毫秒的时刻,从1970年1月1日00:00:00时(GMT,格林威治时间)开始算起.因为是相对于特定的时刻,所以也对应着日期. Calendar类是GregorianCalendar的基类,表示每个人都习惯使用的日/月/年日历,另外还提供了从Date对象中获取日.月和年信息的方法. DateFormat类是抽象类,可用于创建D…
控制台程序. 公历是西方使用的日历,用GregorianCalendar类的对象来表示.GregorianCalendar对象封装了时区信息.日期和时间数据.GregorianCalendar对象有7个构造函数,默认构造函数用当前日期和时间在计算机所在的默认地点创建了日历,其他构造函数则指定了年份.月份.日期.小时.分钟和秒.默认构造函数适用于大多数情况.默认构造函数为: GregorianCalendar calendar=new GregorianCalendar(); 这个对象被设置为当前…
控制台程序. Obserable类提供了一个有趣的机制,可以把类对象中发生的改变通知给许多其他类对象. 对于可以观察的对象来说,类定义中需要使用java.util.Observable类.只需要简单地从Observable类派生出要监控对象所属的类即可. 用于观察器的类要实现Observer接口,只需要定义方法update()即可.这个方法在对应的Observable对象发生变化时调用.传送给update()方法的第一个参数是对Observable对象的引用,Observable对象发生了变化并…
控制台程序. Scanner类提供了一种方式,用来指定如何识别标记.这需要使用next()方法的两个重载版本.其中的一个版本接受Pattern类型的参数.另一个版本接受String类型的参数,用来指定标识标记的正则表达式.在这两个版本中,标记都返回为String类型. import java.util.Scanner; import java.util.regex.Pattern; public class ScanString { public static void main(String[…
控制台程序. java.util.Scanner类定义的对象使用正则表达式来扫描来自各种源的字符输入,并把输入显示为各种基本类型的一系列标记或者显示为字符串. 默认情况下,Scanner对象读取标记时,假定它们用空白分隔开.对于空白对应的任意字符,Character类中的isWhitespace()方法都返回true.因此,读取标记时,要跳过分隔符,找到不是分隔符的字符,然后尝试以要求的方式解释那些不是分隔符的字符序列. import java.util.Scanner; import java…
控制台程序. 正则表达式只是一个字符串,描述了在其他字符串中搜索匹配的模式.但这不是被动地进行字符序列匹配,正则表达式其实是一个微型程序,用于一种特殊的计算机——状态机.状态机并不是真正的机器,而是软件,专门用于解释正则表达式,根据正则表达式隐含的操作分析给定的字符串. Java中的正则表达式功能通过java.util.regex包中的两个类实现:Pattern类定义了封装正则表达式的对象:Matcher类定义了封装状态机的对象,可以使用给定的Pattern对象搜索特定的字符串. import…
控制台程序. Arrays类中的binarySearch()静态方法使用二叉树搜索算法,在有序数组中查找包含给定值的元素.只有当数组的元素按升序方式排序时,该方法才是最有效的,否则就应在调用binarySearch()方法之前调用sort()方法. binarySearch()方法的所有版本都返回int类型的值,也就是在array中找到value的索引位置.当然,value也可能不在数组中,此时返回一个负整数.计算过程是:提取大于value的第一个元素的索引位置,翻转元素的取值符号后再减1. p…
控制台程序. Arrays类中的sort()静态方法把传送为参数的数组元素按升序方式排序. 对于第一个参数类型是Object[]的sort()方法来说,可以传送任意类型的数组.如果使用sort()方法的任何一个版本对对象数组排序,对象就必须支持Comparable<>接口,因为sort()方法使用了compareTo()方法. sort()方法的另外两个用来对对象数组排序的版本是参数化方法.它们在对数组排序是,使用外部的比较器对象来确定对象的顺序.比较器对象的类必须实现java.util.Co…
控制台程序. 使用正则表达式执行查找和替换操作,只需要调用Matcher对象的find()方法,就可以调用appendReplacement()方法来替换匹配的子序列.在提供给方法的新StringBuffer对象中创建原始字符串的修订版本.appendReplacement()方法的参数是包含新字符串的指向StringBuffer对象的引用以及匹配文本的替换字符串. import java.util.regex.Pattern; import java.util.regex.Matcher; c…
Java基础-类加载机制与自定义类Java类加载器(ClassLoader) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于类加载器的概念和分类我就不再废话了,因为我在之前的笔记已经提到过了,详细能看到这篇文章的这些概念应该都烂熟于胸啦!如果你是一名小白的话可以参考我以前的笔记:https://www.cnblogs.com/yinzhengjie/p/9272289.html.本篇博客的重点侧重三点,第一,测试静态代码块:第二,编写自定义类加载器:第三,验证四级类加载机…