5.1 string类
在 Java 基本数据类型一节中,我们已经知道 Java 中有两大数据类型:一个是基本数据类型,另一个是引用数据类型。字符串(String)便属于引用数据类型。字符串在 Java 程序中无处不在,其实我们在第一个 Java 程序中就已经使用过了字符串,打印语句中双引号中的Hello World就是一个字符串:System.out.println("Hello World")。
1.声明字符串
2.创建字符串
创建一个String对象,并初始化一个值。String类是不可改变的,一旦创建了一个String对象,它的值就不能改变了。
给字符串变量赋值有很多方法
引用字符串常量(直接赋值)
利用构造方法实例化
利用字符数组实例化
提取字符数组中的一部分创建字符串对象
5.2 连接字符串
我们可以使用加法运算符+将字符串和任意其他的数据类型进行连接操作。
除了“+”运算符,“+=”同样可以实现字符串拼接。
1.连接字符串![](https://img-blog.csdnimg.cn/c69daf58c3b747fa82d17bd6dc07da2e.png)
2.连接其它字符类型
5.3 提取字符串信息
1.获取字符串长度
str.length()
获取字符串长度
2.获取指定的字符
str.charAt()
指定索引处的字符返回
3.获取字符串索引位置
indexOf(String str)
查找字符在字符串中的位置,该方法用于返回参数字符串s在指定字符串中首次出现的索引位置,当调用字符串的indexOf()方法时,会从当前的字符串的开始位置搜索s的位置;如果没有检索到字符串s,该方法返回值是-1
indexOf(String str, int fromIndex)
返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
public int lastIndexOf(String str)
该方法用于返回参数字符串s在指定字符串中最后一次出现的索引位置,当调用字符串的lastIndexOf()方法时,会从当前的字符串的开始位置搜索s的位置,并将最后一次出现s的索引位置返回
indexOf(String str, int fromIndex)
返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引
startsWith(String prefix, int toffset)
5.获取字符数组
toCharArray()方法可以将字符串转换为一个字符数组
5.4 字符串的操作
1.截取字符串
String substring()方法:实现截取字符串,利用字符串的下标索引来截取(字符串的下标是从0开始的,在字符串中空格占用一个索引位置)
substring(int beginlndex)
截取从指定索引位置开始到字符串结尾的子串
2.字符串替换
replace(CharSequence target, CharSequence replacement)
将指定的字符/字符串oldchar全部替换成新的字符/字符串newChar
2.字符串替换
replace(CharSequence target, CharSequence replacement)
将指定的字符/字符串oldchar全部替换成新的字符/字符串newChar
replaceAll(String regex, String replacement)
使用给定的参数 replacement替换字符串所有匹配给定的正则表达式的子字符串
7.格式化字符串
String 类中,可以使用 format() 方法格式化字符串,该方法有两种重载形:
format(String format, Object… args)使用本地语言环境,制定字符串格式和参数生成格式化的新字符串
format(Locale locale, String format, Object… args)使用指定的语言环境,制定字符串格式和参数生成格式化的字符串
日期和时间字符串格式化
常用日期格式化转换符:
常见的日期和时间组合的格式:StringBuffer、StringBuilder、String的不同之处
String 是字符串常量, StringBuffer 和 StringBuilder 是字符串变量。 StringBuffer 是线程安全的, StringBuilder 是非线程安全的。 具体来说 String 是一个不可变的对象,每次修改 String 对象实际上是创新新对象,并将引用指向新
3.StringBuffer、StringBuilder、String之间的关系
StringBuffer、StringBuilder、String互相转换
StringBuffer、StringBuilder、String的不同之处
String 是字符串常量, StringBuffer 和 StringBuilder 是字符串变量。 StringBuffer 是线程安全的, StringBuilder 是非线程安全的。 具体来说 String 是一个不可变的对象,每次修改 String 对象实际上是创新新对象,并将引用指向新对象。