Java基础练习 — 常用API(Object/System/Date/Calendar/包装类/正则表达式)

一、Object

是类层次的根类,每个类都使用object作为超类。

成员方法

  1. String toString()返回该对象的字符串表示。
    在创建对象的该类中重写,例如main中要new Student(),则在Student类中重写toString()
  2. boolean equals(Object obj)
    使用==来比较是否相等,引用类型比较的是地址值是否相等,基本类型是比较是否相等
    在创建对象引用的类中重写,例如main中要new Person(),则在Person类中重写equals(Object)

二、System

包含一些有用的类字段和方法,它不能被实例化
##成员方法

  1. static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)源数组,源数组起始索引,目标数组,目标数组起始索引,复制长度。
  2. static long currentTimeMillis()以毫秒返回当前系统时间
  3. static void exit(int status)终止虚拟机,0为正常退出
  4. static void gc()垃圾回收,了解即可

三、Date

表示特定的瞬间,精确到毫秒,它可以通过方法来设定自己所表示的时间,可以表示任意时间。System.currentTimeMillis();返回的是当前系统时间,1970-1-1到至今的毫秒数。

构造方法

  1. Date()创建的是一个表示当前系统时间的Date对象。
  2. Date(long date)根据“指定时间”创建date对象,简单的加法运算,在1970-1-1的基础上+date毫秒
    显示当前系统时间的例子
Date d = new Date();
System.out.println(d.toLocaleString); //过时的方法,但是很好用

成员方法

  1. 毫秒 -> Date :设置,返回void,需要参数long
    void setTime(long time) 使用方法进行设置
    Date(long time)直接构造的时候设置参数
  2. Date -> 毫秒:获取,返回long型,不需要参数
    long getTime()

四、SimpleDateFormat

分为格式化解析两个步骤

格式化

创建一个模式sdfnew SimpleDateFormat(),将当前日期datenew Date(),以这个格式输出sdf.format(date)
Date -> String
2048-8-26 -> 2049年8月26日
采用的成员方法是String format(Date date)

解析

这个格式表示的日期,解析成默认格式
String -> Date
“2049年8月26日” -> 2049-8-26
采用的成员方法是Date parse(String source)

构造方法

  1. SimpleDateFormat():使用默认的格式进行对象的构建
  2. SimpleDateFormat(String pattern):使用指定的格式进行对象的构建
    注意:解析的字符串模式必须和构建对象的模式一样。
    4个小姨,2个大美眉,2个小弟弟
    yyyy年MM月dd日
//创建模式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");

//格式化
Date date = new Date();
String s = sdf.format(date);
System.out.println(s); //2019年4月16日

//解析
Date d = sdf.parse("2019年4月16日");
System.out.println(d); //2019-4-16

五、Calendar

成员方法

  1. 获取:int get(int field)
  2. 修改:void set(int field, int value)
  3. 添加:abstract void add(int field, int amout)
Calendar c = Calendar.getInstance(); //使用默认时区和语言环境获得一个日历
c.set(Calendar.DAY_OF_MONTH, 20); //将DAY_OF_MONTH改成20
c.add(Calendar.MONTH, 2); //MONTH+2
c.get(Calendar.YEAR); //获得年份

Date与Calendar之间的转换

  1. Date -> Calendar
Date date = new Date();
Calendar cal = Calendat.getInstance();
cal.setTime(date);
  1. Calendar -> Date
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

六、Integer

由于基本数据类型只能做一些简单的操作和运算,所以Java为我们封装了基本数据类型,为每种基本数据类型提供了包装类对象。
包装类就是封装了基本数据的类,为我们提供了更多复杂的方法和一些变量。

byteshortcharintlongfloatdoubleboolean
ByteShortCharacterIntegerLongFloatDoubleBoolean

String -> int

  1. 方法1:intValue();
  2. 方法2:Integer.parceInt(String s);
Integer i = new Integer("10");
int a = i.intValue();
int b = Integer.parceInt("10");

int -> String

  1. 方法1:+" ";
  2. 方法2:String toString();
  3. 方法3:static String toString(int i );
String s = i.toString();
String s2 = Integer.toString(10);

构造方法

  1. Integer(int value)
  2. Integer(String s)

七、自动装箱、自动拆包

JDK1.5特性:

  1. 自动装箱:基本数据类型转换为包装类对象的过程(使用构造方法实现该过程)。
  2. 自动拆包:包装类对象转换为基本数据类型的过程(intValue()方法实现)

自动装箱

Integer i = 10;
	-> Integer  i = new Integer(10);

自动拆包

int a = i;
	-> int a = i.intValue();

八、正则表达式

常用正则表达式
字符x字符x
\\反斜线字符
字符类[abc]a或b或c
[^abc]任何字符,除了a、b、c
[a-zA-Z]a到z或A到Z
.任何字符
\d数字[0-9]
\D非数字[0-9]
\s空的字符[\t\n\xoB\f\r]
\S非空白字符[^\s]
\w单词字符[a-zA-Z_O-9]
\W非单词字符[^\s]
数量词X?一次或一次也没有
X*零次或多次
X+一次或多次
X{n}恰好n次
X{n,}至少n次
X{n,m}至少n次,不超过m次

举一个栗子:
校验QQ — 条件:

  1. 5-15位

  2. 开头不为0

  3. 必须为数字

    [1-9][0-9]{4,14}
    第1个数字1~9内
    第2个数字0~9内
    出现4次不超过14次

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值