字符序列
字符与字符串
字符类型(char
)是Java
中的基本类型之一,字符是用单引号引住的单个符号。
字符串类型(String
)是用双引号引住的任意个字符,字符串其实就是字符组成的序列。
字符串对象与字面量
字符串的声明有两种形式:
-
String 变量名 = “初始值”;
-
String 变量名 = new String(“初始值”);
第一种形式使用双引号引住的字符串叫做字面量。(推荐使用)
第二中形式使用new
运算符声明的字符串对象。
字符串操作(详细操作API
文档)
以下为常见字符串操作
字符串的连接
-
可以进行加法运算,将两个字符串连接在一起,也可以将字符串与基本类型变量做加法运算,系统会先将基本类型转换为字符串型后进行连接操作。
String str1 = "Hello"; String str2 = "World"; String result = str1 + " " + str2; System.out.println(result);
-
也可以使用
concat()
方法连接String str1 = "Hello"; String str2 = "World"; String result = str1.concat(" ").concat(str2); System.out.println(result);
加法方法和concat()
方法的区别
- 参数数量:concat()方法只接受一个字符串参数,并将其与其他字符串连接起来。+运算符可以接受任意数量的字符串参数,并将它们全部连接起来。
- 输入类型:concat()方法只能接受一个字符串参数,如果提供了任何其他类型的参数,则会报错。+运算符可以接受任何类型的参数,并将其转换为字符串,然后再将其连接到目标字符串上。
- 空指针异常:如果任何一个字符串参数为null,则concat()方法不会引发空指针异常。但是,如果使用+运算符合并null字符串,则会引发空指针异常。
字符串的比较方法
使用equals方法
==与equals方法的区别
字符串的长度
String类的length()
方法可以获取字符串是由多少个字符构成的。
在数组中length属于数组的属性,而在字符串中length()是字符串的方法,需区分
字符串的查找
indexOf()
用于在一个字符串中从前向后查找另一个字符串,如果找到了就返回另外一个字符串的下标,找不到就返回-1;lastIndexOf()
用于在一个字符串中从后向前查找另外一个字符串,如果找到了就返沪另外一个字符串的下标,找不到就返回-1;startWith()
用于判断一个字符串是否以另外一个字符串开头;endsWith()
用于判断字符串是否以另一个字符串结尾;toLowerCase()
用于字符串变成小写字母;toUpperCase()
用于字符串变成大写字母;split()
用于将一个字符串以给定的分隔符分割成多个字符串,并将其分割后的字符串保存在一个数组中,返回这个数组名。
字符串内容替换
replace(String,String)
方法用于将字符串中指定的内容替换称其他内容。
字符串的截取
subString(int,int)
方法用于字符串内容的截取
第一个参数hi从第几位开始取,第二位参数是截取到第几位。
如果没有给定第二位参数,默认截取到最后一位。
字符串的格式化
format()
方法用于创建格式化的字符串以及连接多个字符串对象。
方法定义:format(String format,Object... args);
第一个参数是被各视化的字符串;
第二个参数是替换格式符的字符串。
<