黑马成员---StringBuffer,StringBuilder,Integer,自动装箱和拆箱,正则表达式:匹配,切割,替换,查找
2014-11-12 20:59
429 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
1. 第十三天内容回顾 String类,特性,不new对象,不变性,方法熟练。
构造,判断,获取,转换,其他
StringBuffer缓冲区,底层可变数组,自动扩容复制数组,提示字符串的操作效率
"" 构造方法,空参数,String类型重载 append delete 返回值类型都是本类对象StringBuffer,方法的调用链
2. 第十四天学习内容,StringBuffer,StringBuilder,基本数据类型对象包装类 Integer,JDK1.5后的新特性,自动装箱和拆箱。正则表达式:匹配,切割,替换,查找
3. StringBuffer类的常见方法
l 在缓冲区指定位置插入数据StringBuffer insert(int index,任意数据)
l 修改缓冲区中指定位置的单个字符 void setChatAt(int index,char ch)
l 翻转缓冲区abc cba StringBuffer reverse()
l 将缓冲区中的内容变成字符串,变成String对象,可变对象转成了不可变对象,直接使用String类的方法 String toString()
4. StringBuilder类
开始于JDK1.5版本。
StringBuilder类的方法,以及类的使用方法,和StringBuffer完全一致
区别在哪里:
StringBuffer 线程安全,运行速度慢
StringBuilder 线程不安全,运行速度快
5. 基本数据类型对象包装类
一切都是对象,8个基本数据类型,也进行了对象的封装,提供更多的方法和属性,方便操作这些基本数据类型。既然封装成了对象,描述类,全部在java.lang包
l byte 对应包装类 Byte
l short 对应包装类 Short
l int 对应的包装类 Integer
l long 对应的包装类 Long
l boolean 对应的包装类 Boolean
l float 对应的包装类 Float
l double 对应的包装类 Double
l char 对应的包装类 Character
1个int数据,怎么变成字符串1+"" 字符串"1"变成基本数据类型 int 1
以后开发,用户所有的输入全部是字符串
6. Integer类--最重要方法
将数字格式的字符串,转成基本数据类型int,可以数学计算
静态方法 staticint parseInt(String s)将参数字符串,转成基本数据类型,字符串中的字符必须是数字格式 "123" "123"
静态方法 staticint parseInt(String s,int radix) radix进制,表示前面的字符串参数是几进制的数据,方法的计算结果都是十进制
7. Integer类的其他方法
l 进制转换方法,将十进制转成二进制,八进制,十六进制。toXXXString(int i)返回一个字符串 XXX=Bin XXX = octal XXX = Hex
l 构造方法,两种重载形式,第一个重载传递int,第二个重载传递String。将参数包装成Integer对象,需要一个方法配合,返回是int intValue() 将构造器中的参数转成基本数据类型int
l 静态方法 staticString toString(int i)基本类型转成String对象
l 静态方法 staticString toString(int i,int radix) (6,2)返回字符串,字符串表示的是6的二进制,参数第一个是十进制
8. JDK1.5的新特性,自动装箱和拆箱
自动--不需要程序人员手动参与,但是知道原理是什么
可以直接让引用类型和基本数据类型进行运算
装箱-- 基本类型包装成对象
拆箱-- 引用类型变化基本数据类型
9. 正则表达式Regex
正则表达式,专门处理字符串的一种技术。原有的字符串的处理功能,String Buffer不够用,不能处理复杂的字符串。
正则处理复杂操作的字符串。
需求:验证一个QQ号码的合法性
必须全数字,不能0开头,位数的限制,11-5
解决办法两种,采用字符串,String类实现
采用正则表达式,来实现
通过验证QQ号码案例,正则表达式更简单,代码更少,处理复杂字符串推荐使用正则表达式。
弊端:JVM的底层也是通过大量的计算和String类的方法,来实现正则的功能,效率相对较低
10. 正则表达式的匹配功能
String类方法matches实现。方法是String类对象调用"".matches()方法参数,就是一个正则表达式,就是一种规则。检测字符串和规则是否匹配,完全匹配返回真
num.mathces("......")
关注的是方法matches(规则)怎么写的问题
java.util.Regex.Pattern类,描述了正则怎么写
l 字符类[abc] 匹配字符是不是abc其中的一个
l 字符类[^abc] 只要不是abc其中一个
l 字符类[a-zA-Z] 匹配所有的字母
l 字符类[0-9] 匹配所有的数字
l 预定义字符 \d 匹配所有数字
l 预定义字符 \D 匹配所有非数字
l 预定义单词字符 \w 匹配26个字母大小写,数字 _[a-zA-z0-9_]
l 预定义单词字符 \W 匹配非26个字母大小写,数字 _[^a-zA-Z0-9_]
l 数量词 ? 匹配一次或者一次也没有
l 数量词 * 匹配零次或多次
l 数量词 + 一次到多次
l 数量词 {n} 恰好n次
l 数量词 {n,} 至少n次
l 数量词 {n,m} 至少n次,但不超过m次
11. 正则表达式的切割功能
String类的方法split("正则规则") 返回字符串数组
正则组:符号()表示一个组,专门处理叠词aa bb 东东 宝宝
(.) 要求,组要编号1
记住:叠词处理用组()\\编号
12. 正则表达式替换功能
String类的方法repalceAll(Stringregex,String replace) 第一个参数正则,替换匹配上的内容
替换中,替换上组匹配上的字符,就可以了。组匹配内容捕获,捕获组 $,捕获到组匹配上的叠词中的字符
13. 正则表达式练习
电子邮件格式的验证 地址,检测合法性 fddgfdfd@544.com.cn
@符号前 数字,字母大小写 _
@符号后,.前面 数字小写,字母
.符号后面,字母小写 重复
写好之后,做项目,不要写了,直接复制!!
叠词还原:
我... 我... 我. 我我我... 要要.. 要要要..... 要要.. 学学.. 学学学学学. 学. 编编编... 编编编.. 编编. 编. 编编编. 编编. 程程. 程程程. 程程程程. 程
14. 正则表达式查找功能
在一个字符串中,使用正则表达式,将需要的内容,获取出来
实现功能,需要2个类的支持,java.util.regex Pattern Matcher
实现步骤:
l 正则规则预编译 ,使用Pattern类静态方法compile(正则规则),方法返回一个对象,这个对象就是Pattern类的本类对象
l Pattern类的对象,调用Pattern类的非静态方法Mathcer matcher(查找的字符串),将正则规则和查找字符串进行匹配,返回一个对象,是Matcher(匹配器)
l 调用Mathcer类方法find进行查找,找到返回真,找不到返回假
l 调用Matcher类的方法group获取查找后结果,方法返回字符串
Mathcer类两个方法 返回值都是int start() end() 返回获取到的字符串的下标
1. 第十三天内容回顾 String类,特性,不new对象,不变性,方法熟练。
构造,判断,获取,转换,其他
StringBuffer缓冲区,底层可变数组,自动扩容复制数组,提示字符串的操作效率
"" 构造方法,空参数,String类型重载 append delete 返回值类型都是本类对象StringBuffer,方法的调用链
2. 第十四天学习内容,StringBuffer,StringBuilder,基本数据类型对象包装类 Integer,JDK1.5后的新特性,自动装箱和拆箱。正则表达式:匹配,切割,替换,查找
3. StringBuffer类的常见方法
l 在缓冲区指定位置插入数据StringBuffer insert(int index,任意数据)
l 修改缓冲区中指定位置的单个字符 void setChatAt(int index,char ch)
l 翻转缓冲区abc cba StringBuffer reverse()
l 将缓冲区中的内容变成字符串,变成String对象,可变对象转成了不可变对象,直接使用String类的方法 String toString()
4. StringBuilder类
开始于JDK1.5版本。
StringBuilder类的方法,以及类的使用方法,和StringBuffer完全一致
区别在哪里:
StringBuffer 线程安全,运行速度慢
StringBuilder 线程不安全,运行速度快
5. 基本数据类型对象包装类
一切都是对象,8个基本数据类型,也进行了对象的封装,提供更多的方法和属性,方便操作这些基本数据类型。既然封装成了对象,描述类,全部在java.lang包
l byte 对应包装类 Byte
l short 对应包装类 Short
l int 对应的包装类 Integer
l long 对应的包装类 Long
l boolean 对应的包装类 Boolean
l float 对应的包装类 Float
l double 对应的包装类 Double
l char 对应的包装类 Character
1个int数据,怎么变成字符串1+"" 字符串"1"变成基本数据类型 int 1
以后开发,用户所有的输入全部是字符串
6. Integer类--最重要方法
将数字格式的字符串,转成基本数据类型int,可以数学计算
静态方法 staticint parseInt(String s)将参数字符串,转成基本数据类型,字符串中的字符必须是数字格式 "123" "123"
静态方法 staticint parseInt(String s,int radix) radix进制,表示前面的字符串参数是几进制的数据,方法的计算结果都是十进制
7. Integer类的其他方法
l 进制转换方法,将十进制转成二进制,八进制,十六进制。toXXXString(int i)返回一个字符串 XXX=Bin XXX = octal XXX = Hex
l 构造方法,两种重载形式,第一个重载传递int,第二个重载传递String。将参数包装成Integer对象,需要一个方法配合,返回是int intValue() 将构造器中的参数转成基本数据类型int
l 静态方法 staticString toString(int i)基本类型转成String对象
l 静态方法 staticString toString(int i,int radix) (6,2)返回字符串,字符串表示的是6的二进制,参数第一个是十进制
8. JDK1.5的新特性,自动装箱和拆箱
自动--不需要程序人员手动参与,但是知道原理是什么
可以直接让引用类型和基本数据类型进行运算
装箱-- 基本类型包装成对象
拆箱-- 引用类型变化基本数据类型
9. 正则表达式Regex
正则表达式,专门处理字符串的一种技术。原有的字符串的处理功能,String Buffer不够用,不能处理复杂的字符串。
正则处理复杂操作的字符串。
需求:验证一个QQ号码的合法性
必须全数字,不能0开头,位数的限制,11-5
解决办法两种,采用字符串,String类实现
采用正则表达式,来实现
通过验证QQ号码案例,正则表达式更简单,代码更少,处理复杂字符串推荐使用正则表达式。
弊端:JVM的底层也是通过大量的计算和String类的方法,来实现正则的功能,效率相对较低
10. 正则表达式的匹配功能
String类方法matches实现。方法是String类对象调用"".matches()方法参数,就是一个正则表达式,就是一种规则。检测字符串和规则是否匹配,完全匹配返回真
num.mathces("......")
关注的是方法matches(规则)怎么写的问题
java.util.Regex.Pattern类,描述了正则怎么写
l 字符类[abc] 匹配字符是不是abc其中的一个
l 字符类[^abc] 只要不是abc其中一个
l 字符类[a-zA-Z] 匹配所有的字母
l 字符类[0-9] 匹配所有的数字
l 预定义字符 \d 匹配所有数字
l 预定义字符 \D 匹配所有非数字
l 预定义单词字符 \w 匹配26个字母大小写,数字 _[a-zA-z0-9_]
l 预定义单词字符 \W 匹配非26个字母大小写,数字 _[^a-zA-Z0-9_]
l 数量词 ? 匹配一次或者一次也没有
l 数量词 * 匹配零次或多次
l 数量词 + 一次到多次
l 数量词 {n} 恰好n次
l 数量词 {n,} 至少n次
l 数量词 {n,m} 至少n次,但不超过m次
11. 正则表达式的切割功能
String类的方法split("正则规则") 返回字符串数组
正则组:符号()表示一个组,专门处理叠词aa bb 东东 宝宝
(.) 要求,组要编号1
记住:叠词处理用组()\\编号
12. 正则表达式替换功能
String类的方法repalceAll(Stringregex,String replace) 第一个参数正则,替换匹配上的内容
替换中,替换上组匹配上的字符,就可以了。组匹配内容捕获,捕获组 $,捕获到组匹配上的叠词中的字符
13. 正则表达式练习
电子邮件格式的验证 地址,检测合法性 fddgfdfd@544.com.cn
@符号前 数字,字母大小写 _
@符号后,.前面 数字小写,字母
.符号后面,字母小写 重复
写好之后,做项目,不要写了,直接复制!!
叠词还原:
我... 我... 我. 我我我... 要要.. 要要要..... 要要.. 学学.. 学学学学学. 学. 编编编... 编编编.. 编编. 编. 编编编. 编编. 程程. 程程程. 程程程程. 程
14. 正则表达式查找功能
在一个字符串中,使用正则表达式,将需要的内容,获取出来
实现功能,需要2个类的支持,java.util.regex Pattern Matcher
实现步骤:
l 正则规则预编译 ,使用Pattern类静态方法compile(正则规则),方法返回一个对象,这个对象就是Pattern类的本类对象
l Pattern类的对象,调用Pattern类的非静态方法Mathcer matcher(查找的字符串),将正则规则和查找字符串进行匹配,返回一个对象,是Matcher(匹配器)
l 调用Mathcer类方法find进行查找,找到返回真,找不到返回假
l 调用Matcher类的方法group获取查找后结果,方法返回字符串
Mathcer类两个方法 返回值都是int start() end() 返回获取到的字符串的下标
相关文章推荐
- JAVA正则表达式匹配,替换,查找,切割
- 正则表达式匹配,替换,查找,切割的方法
- JAVA正则表达式匹配,替换,查找,切割
- JAVA正则表达式匹配,替换,查找,切割
- JAVA中正则表达式匹配,替换,查找,切割的方法
- 正则表达式(2)——应用(匹配、切割、替换、查找)、模拟网络爬虫
- JAVA正则表达式匹配,替换,查找,切割的总结
- JAVA正则表达式匹配,替换,查找,切割
- Java正则表达式匹配,替换,查找,切割
- JAVA正则表达式匹配,替换,查找,切割
- JAVA中正则表达式匹配,替换,查找,切割的方法
- day13String获取判断切割替换。最大子串。StringBuffer。基本数据类型对象包装类如Integer。进制转换。自动装箱。
- 正则表达式匹配,替换,查找
- 黑马程序员_正则表达式(正则匹配,替换,切割,获取,正则练习)
- 正则表达式中的匹配,替换,切割,获取,这四个使用时具体用哪一个,进行案例分析
- 学习Java正则表达式(匹配、替换、查找)
- java正则表达式详解(匹配、切割和替换)
- 黑马程序员---正则表达式笔记(匹配,切割,替换,获取)
- (正则表达式)linux shell 字符串操作(长度,查找,替换,匹配)详解
- 正则表达式,模式匹配(查找替换)