A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 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
  • 整数基本类型和包装类转换
  • int转Integer
  • Integer Integer(int value)


    • Integer转int
  • int intValue()
  • 字符串和整数转换
  • String转int
  • 方式1: Integer Integer(String s)
  • 方式2: static int parseInt(String s)
  • 方式3: static Integer valueOf(String s)


    • int转String
  • 方式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之间

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马