Character类
char类型的包装类类型 (引用类型)
构造方法 public Character(char value)
判断功能:
是否是大写字母字符:
public static boolean isUpperCase(char c)
是否是小写字母字符:
public static boolean isLowerCase(char c)
是否是数字字符:
public static boolean isDigit(char c)
转换功能:
toUpperCase(char c):转换成大写
toLowerCase(char c):装换成小写
日历类:Calendar(了解)
它是一个抽象类,(不能实例化)
并为操作日历字段提供了一些成员方法(GMT格林威治时间1970.1.1–00:00:00)
成员方法:
如何创建对象?: public Static Calendar getInstance():
创建当前日历类对象(和时区以及语言环境有关系)
设置日历时间: 当前Calendar类提供一些特定字段(变量)
//创建对象
Calendar c = Calendar.getInstance();//底层会对add方法重写
//public static final int YEAR:年
int year = c.get(Calendar.YEAR);
//public static final int MONTH:年中的月份:角标从0开始
int month = c.get(Calendar.MONTH);+1
//public static final int DATE:月份中的某天 具体的日
int date = c.get(Calendar.DATE);
常用的成员方法:
public abstract void add(int field ,int amount):给日历类中的某个字段设置偏移量
public final void set (int year, int month, int date): 自定义年月日
日期类:Date(重点)
java.util / java.sql
表示特定的瞬间,精确到毫秒.
Date和String:字符串日期文本 格式 如何转换(重点)
中间的桥梁:SimpleDateFormat() 它允许进行格式化(日期Date–>文本),解析(文本—>日期Date)
构造方法:
public Date():创建一个Date对象,精确到毫秒
Date date = new Date();
//星期-月-日-时:分:秒-CST-年 Date日期格式
例:Wed Jan 15 11:21:23 CST 2020
(了解)public Date(long date):传入指定实际的毫秒值
例:long time = 60*60; //在java中;时间使用long来定义
成员方法:
public long getTime():如果知道Date对象,获取当前long时间毫秒值
System类中的静态方法等价于getTime(): (public static long currentTimeMillis();返回以毫秒为单位的当前时间)
DateFormat()是日期/时间格式化子类的抽象类,无法实例化
使用子类SimpleDateFormat()来实例化
构造方法:public SimpleDateFormat(String pattern):
pattern:描述日期和时间格式的模式
y表示年:yyyy表示年份
M表示月:MM表示年中的月份
d表示天:dd表示月中的天
HH:小时 mm:分钟 ss:秒数
Date—>String(格式化操作)
public final String format(Date date)
例:
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);
String s = sdf.format(date);
System.out.println(s);//2020-01-15
String—>Date(解析操作)
public Date parse(String sourse) throws ParseException(该方法调用会抛出异常)
//ParseException:解析异常,属于编译时期异常
例:
String s = “2020-01-15”;
SimpleDateFormat sdf2 = new SimpleDateFormat(“yyyy-MM-dd”);//模式必须保持一致
Date d = sdf2.format(s);
System.out.println(d);//2020-01-15
System类
字段(成员变量)
static PrintStream err
"标准"错误输出流
static InputStream in
"标准"输入流
static PrintStream out
"标准"输出流
printStream:字节打印流(java.io包下)
printStream print = System.out;
成员方法:
public static void gc(): gc垃圾回收器
public static void exit(int status):终止当前正在运行的jvm,一般情况参数status是0
例:System.exit(0);
public static long currentTimeMillis():返回以毫秒为单位的当前时间
例:long time = System.currentTimeMillis();
public static void arraycopy(object src,int srcPos,Object dest,int destPos,int length)
//定义两个数组
int[] arr = {11,22,33,44,55,66};
int[] arr2 = {1,2,3,4,5,6,7};
//Arrays:数组操作的工具类,toString(Object[] arr)—>[元素1,元素2,…]
System.arraycopy(arr,1,arr2,2,2);//从指定数组中的指定位置复制元素到目标的数组中的指定位置结束
Math类
常用的静态功能:
public static double abs(double a) //绝对值
public static double ceil(double a) //向上取整
public static double floor(double a) //向下取整
public static int 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 doule random() //随机数[0.0,1.0) 由Math类提供的一个random方法产生一个double类型的随机数
public static long round(double a) //四舍五入
public static double sqrt(double a) //开平方根
Random类
产生一个随机数的类
构造方法:
public Random():创建一个随机数生成器,该方式每次调用nextInt()和nextInt(int n)产生的随机数不一样
public Random(long seed):调用nextInt()和nextInt(int n)产生的随机数一样
成员方法:
public int nextInt():在int类型的范围内取值
public int nextInt(int n):取值范围在[0,n)之间
面试题:
集合和数组的区别?
1)长度的区别:
数组长度固定,集合长度是可变的
2)存储元素的区别:
数组只能储存同一类型的元素,集合可以存储不同类型的元素(只能是引用类型)
3)存储类型的区别:
数组既可以存储基本类型,也可以存储引用类型
集合只能存储引用类型
Collection集合:顶层次的根接口,不能实例化
是一个容器,StringBuffer和数组也是容器(JavaSE高级部分)
JDK不提供此接口的任何直接实现,通过子实现类(List/Set)来实现
List子接口: (支持元素重复)
三个子实现类:ArrayList, LinkedList, Vector
基本功能:
boolean add(E e):给集合添加元素
boolean remove(Object o):删除指定元素
void clear():暴力删除,删除全部
boolean contains(Object o);判断是否包含指定元素
boolean isEmpty():判断集合是否为空
int size():获取集合中的元素个数
集合的遍历:
1.Object[] toArray():把集合转换成对象数组
2.集合的专有遍历方式:
//创建对象
Collection c = new ArrayList();
迭代器Iterator iterator ()
Iterator it = c.Iterator();//底层源码实现—>使用匿名内部类实现的
Object next():获取迭代器的下一个元素
Object obj = it.next();
boolean hasNext():判断是否还有下一个可以遍历的元素