您的位置:首页 > 编程语言 > Java开发

java学习笔记第17天2018.09.19---基本包装类,正则表达式!!

2018-09-19 20:47 387 查看

String:
常量,不能改变
“a”
String s = “abc”;
String s = new String(“abc”);
String s1 = “abc”;
System.out.println(s == s1); //true
方法:
1.构造方法

2.常用方法
char charAt(index)
String substring(start,end)
String trim()
boolean equals(str)

字符串缓冲区:
缓冲区:
可以认为是容器,对其可以做增删改查四个操作。
字符串缓冲区,意味着对容器可以做增删改查操作,最终得到一个唯一的字符串常量,将其存储到字符串常量池。
StringBuffer:线程安全,jdk1.0
StringBuilder:线程不安全,jdk5.0

都是final类,可改变的字符序列。

基本类型的包装类:
byte Byte
short Short
int Integer
long Long

float		Float
double		Double

char		Character

boolean		Boolean

在java.lang包,都是final类

基本类型、包装类、字符串三者之间的转换,重点学习

基本类型---》包装类:
1.包装类中的构造器方法
2.包装类中的 valueOf方法

包装类-----》基本类型
1.使用包装类中的 xxxValue()

字符串---》基本类型
1.使用包装类中的 parseXxx()方法
注意:Character类中没有这个方法.
基本类型----》字符串形式
1.使用+连接符
2.使用String类中的valueOf(num)方法
3.使用包装类中的toString(num)方法

字符串---》包装类
1.包装类中的构造器方法
2.包装类中的valueOf()方法
包装类---》字符串
1.字符串类中的vlaueOf()方法
2.包装类中重写的toString()方法
jdk5.0:
自动装箱:
基本类型---》对象形式
Integer in = new Integer(123);  //原先写法
Integer in = 123;
自动拆箱:
对象形式---》基本类型

好处:简化了代码编写
弊端:过多使用,对性能有损耗。

正则表达式:
操作字符串的,来验证字符串是否合法等操作。
正则表达式:符号+字母+数字

1.匹配
boolean matches(regex)
2.切割
String[] split(regex)
3.替换
String replaceAll(regex, newStr)
4.获取
1.获取正则对象
String regex = "定义的规则";
Pattern p = Pattern.compile(regex);
2.将正则对象与要操作的字符串相结合,得到匹配器对象
Matcher ma = p.matcher(str);
3.使用匹配器对象获取符合规则的数据
while(ma.find()){
String s = ma.group();
}

代码练习

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
* 正则表达式
*/
public class Demo02 {
public static void main(String [] args) {
//		//匹配
//		String idCars="110122199012125667X";
//		String regex="[1-9][0-9]{5}[12][0-9]{3}[01][0-9][0123][0-9]\\d{4}[0-9xX]";
//		boolean b = idCars.matches(regex);
//		System.out.println(b);

//		//切割
//		String s = "abc.....qwe....jk...fds...fdsaf..fasdfs..fsf";
//		String regexs = "\\.+";//.被正则收录,要用转义字符才能使用。
//		String [] s1 = s.split(regexs);
//		for(String s2:s1) {
//			System.out.println(s2);
//		}
//		//按照不同的叠词切割
//		String s = "abc##qew###jk1111113422321333bcd#####adcccc34440112332";
//		String regex = "(.)\\1+";
//		String [] s3 = s.split(regex);
//		for(String s4:s3) {
//			System.out.println(s4);
//		}

//替换功能
//	String s = "我我我我。。。。。要要要。。。。学学学学学学。。。。。JAVA。。。。编。程。。。。。。";
//	String s1="。+";
//	String s2 = s.replaceAll(s1, "");
//	String s3 ="(.)\\1+";
//	String s4 =s2.replaceAll(s3, "$1");
//	System.out.println(s4);

//	//隐藏电话号码中间四位
//	String tel = "18995131310";
//	String regex ="([34578][0-9])(\\d{4})(\\d{4})";
//	String tel1 = tel.replaceAll(regex,"$1****$3");
//	System.out.println(tel1);

//获取功能
//书写正则表达式
String regex = "1[34578]\\d{9}";
//将正则表达式转换成正则对象
Pattern pattern = Pattern.compile(regex);
//指定需要操作的字符串数据
String s = "1k123skj18995131310juhl15719318798kfhfkda";
//将字符串和正则对象进行组合
Matcher matcher = pattern.matcher(s);
//使用匹配器获取正则匹配上的数据内容
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: