欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java 字符串操作

程序员文章站 2022-04-30 22:10:32
...

一、String 类

在 Java 语言中将字符串作为对象来处理,可以通过 java.lang 包中的 String 类来创建字符串对象。

Java 字符串操作

二、连接字符串

对于已经声明的字符串,可以对其进行相关的操作。连接字符串就是字符操作中较简单的一种,可以对多个字符串进行连接,也可使字符串与其他数据类型进行连接。

连接多个字符串

使用“+”运算符可实现连接多个字符串的功能,“+”运算符可以连接多个运算符并产生一个 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
	}
}

运行结果:

Java 字符串操作

(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字符串连接起来,打印输出
	}
}

运行结果:

Java 字符串操作

(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);		//将判断结果打印输出
	}
}

运行结果:

Java 字符串操作

(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字符串连接起来,打印输出
	}
}

运行结果:

Java 字符串操作

(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);							//将结果输出
	}
}

运行结果:

Java 字符串操作

(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);	//将计算结果输出
	}
}

运行结果:

Java 字符串操作