Calendar:
*
* 类是一个抽象类(无法实例化),它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法
*
* ,并为操作日历字段提供一些成员方法!
*
* 成员方法:
* public static Calendar getInstance() :创建当前日历类对象(和时区以及语音环境有关系)!
*
* public int get(int field):获取 当前时区的日历中的具体的字段值
常用的成员方法:
* public abstract void add(int field, int amount):
* 给日历类中的某个字段设置偏移量
*
* public final void set(int year, int month, int date):设置当前日历类中年月日时间
haracter类:char类型的 包装类类型
* 构造方法:
* public Character(char value)
Character类的判断功能:
* public static boolean isDigit(char ch):判断该字符是否为数字
* public static boolean isUpperCase(char ch):判断该字符是否为大写字母字符
* public static boolean isLowerCase(char ch):判断该字符是否为小写字母字符
*
* toUpperCase(char ch) :转换成大写
* toLowerCase(char ch):转换成小写
public static boolean isDigit(char ch):判断该字符是否为数字
* public static boolean isUpperCase(char ch):判断该字符是否为大写字母字符
* public static boolean isLowerCase(char ch):判断该字符是否为小写字母字符
Date:日期类
* 表示特定的瞬间,精确到毫秒
* 允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串
*
* 构造方法:
* public Date():创建一个Date对象,精确毫秒值(使用它,根据系统时间分配!)
* public Date(long date):传入指定的实际毫秒值 (了解)
成员方法:
* Date----> long 时间毫米值
* public long getTime(): 如果知道Date对象,获取当前long时间毫秒值
* public void setTime(long time) :设置时间毫秒值
Date日期格式----->String转换 (日期文本格式)
* 格式化操作
* public final String format(Date date)
*
* 解析操作
* String(日期文本格式) ----- >Date 日期格式
*
* public Date parse(String source) throws ParseException (该方法调用的时候会抛出异常)
*
* 中间必须使用
* DateFormat 是日期/时间格式化子类的抽象类 ,无法实例化
* 所以必须使用它的子类来实例化
* SimpleDateFormat允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)
*
* 构造方法:
* public SimpleDateFormat(String pattern):
* 参数pattern:描述日期和时间格式的模式
*
* y表示年 yyyy表示一个具体的年份 举例: 2020 yyyy
* m表示月 MM 表示年中的月份 举例: 01
* d 月份中的天 dd表示 举例: 15/07
*
* HH:小时
* mm:分钟
* ss:秒数
*
*
Math:针对数学运算(三角函数,指数...)
*
* 成员方法:静态的功能
* public static double abs(double a) :绝对值
* public static double ceil(double a) :向上取整
* public static double floor(double a):向下取整
* public static double max(int a, int b):求最大值
* public static int min(int a,int b):求最小值
* public static double pow(double a,double b):a的b次幂
*
* public static double random():随机数 [0.0,1.0)
* public static long round(double a):四舍五入
* public static double sqrt(double a):开平方根
Random类:
* 产生一个随机数的类
*
* 构造方法:
* public Random():创建一个随机数生成器 ,该方式每次调用nextInt()/nextInt(int n)
* 产生的随机数不一样
* public Random(long seed):通过一个时间毫秒数创建一个随机数生成器,每次随机数相同的
*
*
*成员方法:
* public int nextInt() :每次产生的随机数在int类型的范围内取值
* public int nextInt(int n) :产生的随机数的范围在[0,n)之间
*
*获取随机数:
* 两种方式:
* Math里面的random方法() ---->double [0.0,1.0)
* Random类:随机数生成器
* 无参构造方法+nextInt(int n) :结合使用 [0,1)
System类:包含一些有用的类字段和方法。它不能被实例化。
*
*
*字段(成员变量)
static PrintStream err
“标准”错误输出流。
static InputStream in
“标准”输入流。
Scanner(InputStream in) -----> Scanner(System.in)
static PrintStream out
“标准”输出流。
printStream:字节打印流 (java.io包下) 和IO流相关(SE高级部分)
成员方法:
public static void gc()运行垃圾回收器。
之前Object类的
protected void finalize() :和垃圾回收器有关系
throws Throwable :当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法
子类需要重写finalize()方法
public static void exit(int status) :终止当前正在运行的jvm,
* 一般情况参数是0
* public static long currentTimeMillis()返回以毫秒为单位的当前时间 (毫秒值)
* public static void arraycopy(Object src,int srcPos,Object dest,
* int destPos,int length)
*
* 从指定源数组中src中的某个位置 srcPos开始,到目标数组dest中的指定位置destPos,指定长度复制
集合:
* 是一个容器
* StringBuffer/数组:都是容器
*
* StringBuffer:字符串缓冲区,只能存储字符串内容
* 数组:长度是固定的,不符合长度可变的要求
* 面试题:
* 集合和数组的区别?
* 1)长度的区别:
* 数组长度是固定的
* 集合长度是可变的
* 2)存储元素的区别
* 数组:只能存储同一种类型的元素
* 集合:可以存储不同的类型(都只能引用类型)
*
* 3)存储类型的区别:
* 数组:既可以存储基本类型,也可以引用类型
* 集合:只能引用类型
* Collection:
* 顶层次的根接口
* List子接口 :允许元素重复的
* 三个子实现类:ArrayList,LinkedList,Vector
* Set子接口
* 两个子实现类:HashSet,TreeSet(牵扯到排序:选择器排序/自然排序)
* Collection: 接口 ,不能实例化
* JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现
*
*
* 基本功能
* boolean add(E e):给集合添加元素
boolean remove(Object o):删除指定的元素
void clear():暴力删除(删除所有)
boolean contains(Object o) 判断是否包含指定的元素
boolean isEmpty():判断集合是否为空
int size():获取集合中的元素
Collection的遍历操作:遍历集合
* Object[] toArray() :将集合转化成对象数组(传统方式遍历)
集合专门有自己的遍历方式:
* 迭代器 Iterator iterator()
*
* boolean hasNext():判断是否有下一个可以遍历的元素
* Object next():获取迭代器的下一个元素