概述
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());
}
}
}
最后
以上就是舒心灯泡为你收集整理的java学习笔记第17天2018.09.19---基本包装类,正则表达式!!的全部内容,希望文章能够帮你解决java学习笔记第17天2018.09.19---基本包装类,正则表达式!!所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复