黑马程序员——正则及API的使用

来源:互联网 发布:新开淘宝店没生意怎么办 编辑:程序博客网 时间:2024/06/07 18:09
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
</pre><pre>

一、正则表达式的规则

正则表达式就是符合正确规则的字符串。


Question:什么是正确的规则呢?

规则的组成在java.util.regex Pattern类中。


这么多的规则,我们选择常用的来学习。

A:字符

x 字符x。‘a’表示字符a

\\ 反斜线字符

\n 换行字符

\r 回车符

注:Windows系统中回车换行是一起使用的。

B:字符类

[abc] 表示a、b或c都行

[^abc] 表示除了a、b、c的任何字符

[a-zA-Z] 表示所有的英文字符

[0-9] 表示0-9的字符都包括

C:预定义字符

. 任意字符转义一下\.

\d 数字:[0-9]

\s 空白字符

\w 单词字符:[a-zA-Z_0-9]

注:大写的\D、\S、\W就是加个^

D:边界匹配器

^ 行的开头

$ 行的结尾

\b 单词边界(就是不是单词字符的地方)

E:数量词

0次或1次

+ 1次或多次

* 0次或多次

{n,} 至少n次

{n,m} 至少n次,不超过m次


二、正则表达式的功能

1、判断 public booleanmatches(String regex)

2、分割 public String[] split(regex)

3、替换 public String replaceAll(String regex,String replacement)

4、获取 模式匹配器获取


现在用代码来实现演示一下这四个功能。




三、API的一些类的使用

1、Random类的作用

用于生产随机数

2、Random的构造函数

Random类有两个构造函数Random()和Random(long seed)

第一个构造函数没有种子,默认取当前的系统时间currentTimeMillis();

第二个构造函数有种子,随机数只会生成一次,再重新运行时,还是同样的随机数

3、代码演示



可以发现,有种子的Radom生成的随机数不会发生改变。

4、System类

System类是final的,而且他的方法都是static的。

Long System.currentTimeMillis()--------------------获取当前的毫秒值

System.gc()---------------------------------调用垃圾回收器

System.exit()------------------------------退出JVM,可以用于终结finally块

数组类型[]  System.arrayCopy(原数组,起始位置,新数组,起始位置,长度)

 

String  System.getenv(”JAVA_HOME”)-----------------------------获取环境

Properties p=System.getProperties();

p.list(System.out);


功能演示:


可以看出,系统时间共走了45年,说明计算机时间是从1970年开始的。

5、Runtime类

Runtime类的一些功能。

freeMemory       -----------------返回虚拟机空余内存

MaxMemory              -----------------返回虚拟机试图获取的最大内存

totalMemory             -----------------返回虚拟机的总内存

getRuntime         -----------------返回一个Runtime的对象


6、BigInteger和BigDecimal

BigInteger是在int数据类型不够大的时候使用。

BigDecimal用于小数计算,因为小数的计算也是要转换为2进制计算的,小数二进制计算是用乘法的,所以存在无线循环,不能准确的算出结果。

主要用4个方法:

Add(BigInteger和BigDecimal)

              subtract(BigInteger和BigDecimal)

             multiply(BigInteger和BigDecimal)

             divide(BigInteger和BigDecimal)

              divideAndRemainder(BigInteger和BigDecimal)            返回数组,0装值,1装余数

 

代码演示:




0 0