黑马程序员技术交流社区

标题: 【石家庄校区】第二阶段笔记节选 [打印本页]

作者: 晨阳    时间: 2018-1-4 17:05
标题: 【石家庄校区】第二阶段笔记节选
本帖最后由 小石姐姐 于 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文档
构造方法:
*        SimpleDateFormat() :使用默认的模式进行对象的构建
*        SimpleDateFormat(String pattern) :使用的指定的模式进行对象的构建
解析的字符串,模式必须和构建对象的模式一样
Calender类(日历)
Calendar类: 日历类, 也是处理时间和日期的类, 用于替代Date类
提供了一些操作年月日时的方法
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(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之间





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2