第12章 常用类
第12章 常用类
系统相关类的使用
System
代表当前Java程序的运行平台(Windows)
System.currentTimeMillis()
获得系统当前时间函数
System. nanoTime()
与系统或钟表时间的其他任何时间概念无关。他的作用只有一个,计算代码的执行时间
System. exit()
关闭虚拟机(慎用)
System. gc()
提醒垃圾回收,期可以垃圾回收(不一定回收)
System. getProperty()
Runtime
代表Java程序的运行时环境(JVM)
字符串处理相关类的使用
String
一旦确定,那么这个字符串,无论是长度还是内容,都不能改变
不是通过构造器创建的字符串,数据存放在常量池中
string str = new string():使用构造器创建的字符串,数据存放在堆中
StringBuffer
StringBuffer buffer = new StringBuffer( ): 就是超级数组类的变换
都是可变的字符串,针对线程同步上了锁的,执行效率和准确性提高了
StringBuilder
针对线程同步没有上锁的,执行效率和准确性降低了
StringBuilder builder = new StringBuilder( ): 就是超级数组类的变换
相同的哈希值不一定是相同的对象,相同的对象,哈希值一定是相同
日期时间相关类的使用
Date
DateFormat
SimpleDateFormat
Calendar
GregorianCalendar
获得系统当前时间,根据时间差,反向推测出当时的时间
Date date = New Date()
或date.detTime()
得到某一个时间,距2000-12-12的时间差
System.out.println(date.detTime());
默认情况下,日期输出的格式是格林尼治时间 EEE MM dd HH:ss zzz yyy
toGMTString //格林威治时间 dd MM yyy HH:ss zzz
DateFormat抽象类
DateFrmat for = DateFormat.getInstance //获得子类实例
SimpleDateFormat df = new SimpleDateFormat()
df.applyPattern(“yyyy-MM-dd”)//应用模板格式
System.out.println (df.format());
Calender类 唯一的子类GregorianCalendar
调用getInstance()获得Calender抽象类的子类的实例
自定义时间
Calender.setTime();
数学运算及随机数相关类的使用
数学运算相关类
Math类、Random类
Math类是一个数学工具类,在Java语言中,常用的数学常数和数学方法都在该类内部,而且无论是常数还是方法都是static类型的。
随机数
1.通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字,我们可以把这个数字当作随机数。
2.通过Math类的静态方法random()返回一个0到1之间的double值。
3.通过Random类来产生一个随机数。
包装类及自动装箱/拆箱
包装类(引用类型)
分类:
Number类、Character和Boolean类,父类都是Object类。
数值型(Number):Integer、Byte、Short、Long、Float、Double,是Number的子类。
byteValue()
shortValue()
intValue()
longValue()
doubleValue()
FloatValue()
包装类也属于引用类型,同样赋初值为null
注意:
所有的包装类都是final类型,不能创建它们的子类。
包装类是不可变类。一旦创建了一个包装类的对象,那么它所包含的基本类型数据就不能改变。
自动装箱/拆箱(JDK1.5之后)
自动装箱,基本类型自动转换为包装类(int —Intger)
自动拆箱,包装类自动转换为基本类型(Integer ----int)
正则表达式
普通符号、转义符、标准字符集合、自定义的字符集合、量词、选择符和分组(了解)
**普通符号:**字母,数字,汉字,下划线、" . “、” $ ",以及一些具有特殊含义的标点符号
转义符:\t \n \r \f ^ $
标准字符集合: \b、\B、\d、\D、\s、\S、\w、\W
自定义的字符集合
[ ] 自定义的字符集合,能够匹配方括号中的任意一个字符
自定义的字符集合中,可以装普通字符,转义符号,还可以装标准字符集合
当转义符号,在自定义字符集合中,依旧是转义的含义
当标准字符集合,在自定义字符集合中,表示包含标准字符集合的内容
如果具有某些特殊含义的标点符号,被装入自定义的字符集合后,会被认为就是一个普通符号,没有任何其他的含义!
量词
修饰正则表达式中字符号的匹配次数的符号,代表了前面表达式出现的次数
* 代表前面的子表达式出现的次数为0或者多次,等同于{0,}
+ 代表前面的子表达式出现的次数为1或者多次,等同于{1,}
{n} 代表前面的子表达式出现的次数为n次
{n,m} 代表前面的子表达式出现的次数为n到m次,如果m不写,那就无穷次
?这个符号,一般跟随在上面的4个符号的后面,主要作用是:将贪婪模式,转换为非贪婪模式
选择符和分组(了解)
或的含义
()捕获组 它会从字符串中,捕获符合我们条件的内容,并将内容丢入到内存中,以便下次使用
^ 在正则表达式中,一般存在2种含义
1、限定开头
如果是在匹配文本输入的开始的时候,将会匹配后面紧跟的字符,用来限制开头,例如:^1[345789]\d{9}$ (^cat)$
2、取反
当这个字符出现在一个自定义字符集合模式的第一个字符时,表示取反,例如:[^a]表示“匹配除了a的任意字符”。 [^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。但是^ 出现在自定义字符集中,就表示普通的字符^ 例如:[^abc]