Java 字符串操作
程序员文章站
2022-04-30 22:10:32
...
一、String 类
在 Java 语言中将字符串作为对象来处理,可以通过 java.lang 包中的 String 类来创建字符串对象。
二、连接字符串
对于已经声明的字符串,可以对其进行相关的操作。连接字符串就是字符操作中较简单的一种,可以对多个字符串进行连接,也可使字符串与其他数据类型进行连接。
连接多个字符串
使用“+”运算符可实现连接多个字符串的功能,“+”运算符可以连接多个运算符并产生一个 String 对象。
连接其他数据类型
字符串也可同其他数据类型进行连接。如果将字符串同这些数据类型数据进行连接,会将这些数据直接转化成字符串。
三、获取字符串信息
字符串作为对象,可通过相应方法字符串的有效信息。
获取字符串长度
使用 String 类的 length() 方法可获得声明的字符串对象长度。
字符串查找
String 类提供了两种查找字符的方法,即 index() 与lastindex() 方法。这两种方法都允许在字符串中搜索指定条件的字符或者字符串。 index() 方法返回的是搜索的字符或者字符串首次出现的位置,lastindex() 方法返回的是搜索的字符或者字符串 最后一次出现的位置。
获取指定索引位置的字符
使用 charAT() 方法可将指定索引处的字符返回。
四、字符串操作
获取子字符串
通过 String 类的 substring() 方法可对字符串进行截取。这些方法的共同点就是都利用字符串的下标进行截取,且应明确字符串的下标都是从 0 开始的。
去除空格
trim() 方法返回字符串的副本,忽略前导空格和结尾空格。
字符串替换
replace() 方法可实现将指定的字符或者字符串替换成新的字符或者字符串。
判断字符串的开始与结尾
starts With() 和ends With() 方法分别用于判断字符串是否以指定的内容开始或结束。这两种方法的返回值都为 boolean 类型。
判断字符串是否相等
对字符串对象进行比较不能简单地使用比较运算符“==”,因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符仍然会返回 false。
因此,要比较两个字符串内容是否相等,应使用 equal() 和 equalsIgnoreCase() 方法。
按字典顺序比较两个字符串
compareTo() 方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的 Unicode 值,按字典顺序将此 String 对象表示的字符序列与参数字符串所表示的字符序列进行比较。
如果按字典顺序将此 String 对象位于参数字符串之前,则比较结果为一个负整数;如果按字典顺序将此 String 对象位于参数字符串之后,则比较结果为一个正整数;如果两个字符串相等,则结果为 0.
字母大小写转换
字符串的 toLowerCase() 方法可将字符串中的所有字符从大写字母改写为小写字母;而toUpperCase() 方法可将字符串中的所有字符从小写字母改写为大写字母。
字符串分割
使用 split() 方法可以使字符串按指定的分割字符或字符串对内容进行分割,并将分割后的结果存放在字符串数组中。
五、练习
完成一个java application应用程序,完成字符串的各种操作:
(1)、 操作包括字符串的初始化赋值和输出。
程序代码:
package test;
public class Worka { //定义一个公告的类,类名为Worka
public static void main(String[] args) { //程序的主入口
String a = "Hello"; //声明 String 对象 a
String b = "World"; //声明 String 对象 b
String c = "!"; //声明 String 对象 c
System.out.println(a); //输出打印 a
System.out.println(b); //输出打印 b
System.out.println(c); //输出打印 c
}
}
运行结果:
(2)、操作包括两个字符串相加合成为一个新字符串。
程序代码:
package test;
public class Worka { //定义一个公告的类,类名为Worka
public static void main(String[] args) { //程序的主入口
String a = "Hello"; //声明 String 对象 a
String b = "World"; //声明 String 对象 b
String c = "!"; //声明 String 对象 c
System.out.println(a); //输出打印 a
System.out.println(b); //输出打印 b
System.out.println(c); //输出打印 c
System.out.println(a+b+c); //将 a b c字符串连接起来,打印输出
}
}
运行结果:
(3)、操作包括两个字符串比较其是否相同。
程序代码:
package test;
public class Worka { //定义一个公告的类,类名为Worka
public static void main(String[] args) { //程序的主入口
String a = "Hello"; //声明 String 对象 a
/*
String b = "World"; //声明 String 对象 b
String c = "!"; //声明 String 对象 c
System.out.println(a); //输出打印 a
System.out.println(b); //输出打印 b
System.out.println(c); //输出打印 c
System.out.println(a+b+c); //将 a b c字符串连接起来,打印输出
*/
String a1 = "hello"; //声明 String 对象 a1
boolean s = a.equals(a1); //判断 a 与 a1 是否相等,不区分大小写
System.out.println("不区分大小写"+s); //将判断结果打印输出
boolean s1 = a.equalsIgnoreCase(a1); //判断 a 与 a1 是否相等,区分大小写
System.out.println("区分大小写"+s1); //将判断结果打印输出
}
}
运行结果:
(4)、操作包括已知一个字符串及其包含的某一子字符串,把此子字符串替换为其他的新的指定字符串。
程序代码:
package test;
public class Worka { //定义一个公告的类,类名为Worka
public static void main(String[] args) { //程序的主入口
String a = "Hello"; //声明 String 对象 a
String b = "World"; //声明 String 对象 b
String c = "!"; //声明 String 对象 c
/*
System.out.println(a); //输出打印 a
System.out.println(b); //输出打印 b
System.out.println(c); //输出打印 c
*/
System.out.println(a+b+c); //将 a b c字符串连接起来,打印输出
/*
String a1 = "hello"; //声明 String 对象 a1
boolean s = a.equals(a1); //判断 a 与 a1 是否相等,不区分大小写
System.out.println("不区分大小写"+s); //将判断结果打印输出
boolean s1 = a.equalsIgnoreCase(a1); //判断 a 与 a1 是否相等,区分大小写
System.out.println("区分大小写"+s1); //将判断结果打印输出
*/
String a1 = a.replace("H", "h"); //将 a 中“H”更换为“h”,并赋值给 a1
String b1 = b.replace("W", "w"); //将 b 中“W”更换为“w”,并赋值给 b1
System.out.println(a1+b1+c); //将 a1 b1 c字符串连接起来,打印输出
}
}
运行结果:
(5)、操作包括对特定字符串与数值之间的相互转换。
程序代码:
package test;
public class Worka { //定义一个公告的类,类名为Worka
public static void main(String[] args) { //程序的主入口
String a = "1234"; //声明 String 对象 a
int s = Integer.parseInt(a); //将 string 类型转化为 int 类型
System.out.println(s); //将结果输出
}
}
运行结果:
(6)、操作包括字符串与字节数组之间的相互转换。
程序代码:
package test;
public class Worka { //定义一个公告的类,类名为Worka
public static void main(String[] args) { //程序的主入口
String a[] = {"34","66","1","80","79"}; //定义 String 数组
int sum = 0; //定义 int 型变量
for(int i=0;i<a.length;i++) { //循环遍历数组
int s = Integer.parseInt(a[i]); //将数组中每个元素转化为 int 类型
sum = sum + s; //将数组中各元素相加
}
System.out.println("数组中各元素的和是:"+sum); //将计算结果输出
}
}
运行结果:
下一篇: 高德定位---权限弹框不出现的问题