本帖最后由 小石姐姐 于 2018-1-5 09:30 编辑
第二阶段笔记节选( 常用api)
Object类
所有类的根类(超类)
String toString():返回对象的字符串表示
一般重写该方法来查看成员的属性,一般在测试时使用,不常用
return getClass().getName() + "@" + Integer.toHexString(hashCode());
* getClass():返回一个字节码对象
* Integer.toHexString():返回指定参数的十六进制字符串形式
* hashCode():返回该对象的哈希码值(内部地址)
获取字节码对象的三种方式
对象 .getClass()
类名.class
Class.forName("全类名")!!!!建议用这种方法
同一个类的字节码对象都一样
boolean equals(Object abj)
使用==来比较两个对象是否相等,比较的是地址值是否相等
如果要用来比对象属性来比较,则重写该equals
System类
包含一些有用的类字段和方法。它不能被实例化。
类字段是被static 修饰的字段
* static void arraycopy(Object src, intsrcPos, Object dest, intdestPos, int length)
* 复制数组
* 数据源和目的地
src:源数组
srcPos:指定从哪个索引位置开始复制
dest:目标数组
destPos:指定目标数组接受元素的索引位置
length:目标数组接受元素的个数
* static long currentTimeMillis()
* 以毫秒为单位返回当前系统时间(1970-1-1 0:0:0至今过了多少毫秒)
* static void exit(int status)
* 终止虚拟机的运行
System.exit(0) 正常终止
System.exit(!0) 异常终止
Date类
表示特定时间精确到毫秒,可以通过方法来设定表示的时间,可以表示任何时间
构造方法
util包下需导包
Date():创建的是一个表示当前系统时间的Date对象
Date(long date)根据(指定时间)创建Date对象
Date 的对象来调用toLocalseString可以格式化生成的时间格式
不过该方法已经过时,仍然可以使用(应该使用DateFormat来格式化时间)
常用方法
毫秒值———Date
设置 返回值是void,参数是long类型的
void setTime(long time)是相对于1970-1-1 0:0:0
Date(long date)构造也可以设置时间
Date --- 毫秒值
获取
返回long,无参数
long getTime()
SimpleDateFormat:
格式化
Date——String
String format(Date date) XXXX年XX月XX日的格式
解析
String——Date
Date parse(String source)转换为毫秒为单位的Date对象
常用日期模式: 详细可见API文档
- y: 年
- M: 月
- m: 分
- D: 年中的天
- d: 月中的天
- H: 小时(24小时制)
- K: 小时(12小时制)
- S: 毫秒
- s: 秒
- E: 星期
- 示例: yyyy-MM-dd E HH:mm:ss.SSS, 结果为2016-04-01 星期五 17:29:15.868
构造方法:
* SimpleDateFormat() :使用默认的模式进行对象的构建
* SimpleDateFormat(String pattern) :使用的指定的模式进行对象的构建
解析的字符串,模式必须和构建对象的模式一样
Calender类(日历)
Calendar类: 日历类, 也是处理时间和日期的类, 用于替代Date类
- 静态方法: static Calendar getInstance()
- 示例: Calendar c = Calendar.getInstance()
- static YEAR: 年份
- static MONTH: 月份. 注意月份数值是0-11
- static DAY_OF_MONTH: 日期
- static HOUR: 小时(12小时制)
- static HOUR_OF_DAY: 小时(24小时制)
- static MINITE: 分钟
- static SECOND: 秒
提供了一些操作年月日时的方法
int get(int field) 获取当前年月日
void add(int field, int amount) 修改日期
void set(int field, int value)设置日期
包装类
* 由于基本数据类型只能做一些简单的操作和运算,所以Java为我们封装了基本数据类型,为每种基本数据类型提供了包装类
* 包装类就是封装了基本数据类型的类,为我们提供了更多复杂的方法和一些变量
*
* byte Byte
* short Short
* char Character
* int Integer
* long Long
* float Float
* double Double
* boolean Boolean
*
Integer
- Integer Integer(int value)
- 方式1: Integer Integer(String s)
- 方式2: static int parseInt(String s)
- 方式3: static Integer valueOf(String s)
- 方式1: "" + int值
- 方式2: String toString()
- 方式3: static String toString(int i)
- 扩展: 包装类有什么用?
- 常用一些转换方法
- 包装类默认值是null, 数字基本数据类型默认值是0, 而在实际开发中0也有可能是正常数值. 有时我们需要判断一个成员变量否进行过初始化, 所以用包装类是否为null判断更合适
*
* 构造方法:
* Integer(int value)
* Integer(String s)
包装类的自动装箱与拆箱
在需要的情况下,基本类型与包装类型可以通用。有些时候我们必须使用引用数据类型时,可以传入基本数据类型。
自动拆箱:对象转成基本数值
自动装箱:基本数值转成对象
正则表达式概述
正则表达式是专门解决字符串规则匹配的工具。
正则表达式也是一个字符串,用来定义匹配规则。
boolean matches(String regex) :判断当前字符串是否匹配指定的正则表达式,如果匹配则返回true,否则返回false(字符串直接调用该方法)
参照帮助文档,在Pattern类中有简单的规则定义,可以结合字符串类的方法使用。
正则表达式匹配规则
参照帮助文档,在Pattern类中有正则表达式的的规则定义,正则表达式中明确区分大小写字母。我们来学习语法规则。
正则表达式的语法规则:
字符:x
含义:代表的是字符x
例如:匹配规则为 "a",那么需要匹配的字符串内容就是 ”a”
字符:\\
含义:代表的是反斜线字符'\'
例如:匹配规则为"\\" ,那么需要匹配的字符串内容就是 ”\”
字符类:[abc]
含义:代表的是字符a、b 或 c
例如:匹配规则为"[abc]" ,那么需要匹配的内容就是字符a,或者字符b,或字符c的一个
字符类:[^abc]
含义:代表的是除了 a、b 或 c以外的任何字符
例如:匹配规则为"[^abc]",那么需要匹配的内容就是不是字符a,或者不是字符b,或不是字符c的任意一个字符
字符类:[a-zA-Z]
含义:代表的是a 到 z 或 A 到 Z,两头的字母包括在内
例如:匹配规则为"[a-zA-Z]",那么需要匹配的是一个大写或者小写字母
字符类:[0-9]
含义:代表的是 0到9数字,两头的数字包括在内
例如:匹配规则为"[0-9]",那么需要匹配的是一个数字
字符类:[a-zA-Z_0-9]
含义:代表的字母或者数字或者下划线(即单词字符)
例如:匹配规则为" [a-zA-Z_0-9] ",那么需要匹配的是一个字母或者是一个数字或一个下滑线
预定义字符类:.
含义:代表的是任何字符
例如:匹配规则为" . ",那么需要匹配的是一个任意字符。如果,就想使用 . 的话,使用匹配规则"\\."来实现
预定义字符类:\d [0-9]
含义:代表的是 0到9数字,两头的数字包括在内,相当于[0-9]
例如:匹配规则为"\d ",那么需要匹配的是一个数字
预定义字符类:\w [a-zA-Z_0-9]
含义:代表的字母或者数字或者下划线(即单词字符),相当于[a-zA-Z_0-9]
例如:匹配规则为"\w ",,那么需要匹配的是一个字母或者是一个数字或一个下滑线
数量词:X?
含义:代表的是X出现一次或一次也没有
例如:匹配规则为"a?",那么需要匹配的内容是一个字符a,或者一个a都没有
数量词:X*
含义:代表的是X出现零次或多次
例如:匹配规则为"a*" ,那么需要匹配的内容是多个字符a,或者一个a都没有
数量词:X+
含义:代表的是X出现一次或多次
例如:匹配规则为"a+",那么需要匹配的内容是多个字符a,或者一个a
数量词:X{n}
含义:代表的是X出现恰好 n 次
例如:匹配规则为"a{5}",那么需要匹配的内容是5个字符a
数量词:X{n,}
含义:代表的是X出现至少 n 次
例如:匹配规则为"a{5, }",那么需要匹配的内容是最少有5个字符a
数量词:X{n,m}
含义:代表的是X出现至少 n 次,但是不超过 m 次
例如:匹配规则为"a{5,8}",那么需要匹配的内容是有5个字符a 到 8个字符a之间
|
|