目录
1.字符串连接(两种)
2.字符串比较
3.字符串截取
4.字符串查找
5.字符串替换
6.字符串与字符数组
1、字符串连接
第一种就是我们常用的 + 连接
public class Test {
public static void main1(String[] args) {
String str1 = "hello,";
String str2 = "my name is Tom!";
String str3 = str1 + str2;
System.out.println(str3);
}
// 运行结果如下:
// hello,my name is Tom!
public static void main2(String[] args) {
System.out.println(10 + 2.5 + "price");
// 先进行算术运算,再进行字符串连接
System.out.println("price" + 10 + 2.5);
// 进行字符串连接
}
// 运行结果如下:
// 12.5price
// price102.5
}
第二种就是String类提供连接两个字符串的方法concat( ),格式如下:
string1.concat(string2);
🎨🎨🎨
concat( )方法返回一个字符串,是将字符串string2添加到string1后面后形成的新字符串。
public class Test {
public static void main(String[] args) {
String str1 = "hello,";
String str2 = "world";
String str3 = str1.concat(str2);
System.out.println(str3);
}
// 运行结果如下:
// hello,world
}
2、字符串比较
Java中String类提供了几种比较字符串的方法。最常用的是equals( )方法,它是比较两个字符串是否相等,返回boolean值。使用格式如下:
str1.equals(str2);
equals( )方法会比较两个字符串中的每个字符,相同的字母,如果大小写不同,其含义也是不同的。例如以下代码:
public class Test {
public static void main(String[] args) {
String str1 = "hello";
String str2 = "HELLO";
System.out.println(str1.equals(str2));
}
// 运行结果如下:
// false
}
还有一种忽略字符串大小写的比较方法,这就是 equalsIgnoreCase( )方法。同样返回boolean值。代码如下:
public class Test {
public static void main(String[] args) {
String str1 = "hello";
String str2 = "HELLO";
System.out.println(str1.equalsIgnoreCase(str2));
}
// 运行结果如下:
// true
}
注意:在比较字符串时,不能使用 “= =”,因为使用“= =”比较对象时,实际上判断的是是否为同一个对象,如果内容相同,但不是同一个对象,返回值为false。
3、字符串截取
所谓的截取就是从某个字符串中截取该字符串中的一部分作为新的字符串。String类中提供substring方法来实现截取功能。使用格式如下:
String substring (int beginIndex);
或
String substring (int beginIndex, int endIndex);
字符串第一个字符的位置为0
public class Test {
public static void main(String[] args) {
String str1 = "I Love Java!";
String subs1 = str1.substring(2);
// 对字符串进行截取,从开始位置2截取
String subs2 = str1.substring(2, 6);
// 对字符串进行截取,截取 2-6 之间部分
System.out.println("从开始位置 2 截取");
System.out.println(subs1);
System.out.println("从位置 2-6 截取");
System.out.println(subs2);
}
// 运行结果如下:
// 从开始位置 2 截取
// Love Java
// 从位置 2-6 截取
// Love
}
4、字符串查找
字符串查找是指一个字符串中查找另一个字符串。String类中提供了 indexOf方法来实现查找功能。使用格式如下:
str.indexOf(string substr)
或
str.indexOf(string substr, fromIndex)
第一种是从指定字符串开始位置查找。第二种是从指定字符串并指定开始位置查找。简单来说就是获取下标(索引)例如:
public class Test {
public static void main(String[] args) {
String str1 = "I Love Java!";
String str2 = "Love";
int index1 = str1.indexOf(str2);
// 从开始位置查找”Love“字符串
int index2 = str1.indexOf(str2, 2);
// 从索引 2 位置开始查找”Love“字符串
System.out.println(index1);
System.out.println(index2);
}
// 运行结果如下:
// 2
// 2
// 这里特别说明一下如果查找没有或者不存在查找的字符串,返回的-1(我这里的编译器)
}
5、字符串替换
字符串替换指的是用一个新字符去替换字符串中指定的所有字符,String类提供的replace方法可以实现这种替换。使用格式如下:
str1.replace(char oldchar, char newchar)
str1表示原字符串,用newchar替换string1中所有的oldchar,并返回一个新字符串。例如:
public class Test {
public static void main(String[] args) {
String str1 = "I Love Java!";
char oldchar = 'a';
char newchar = 'b';
System.out.println(str1.replace(oldchar, newchar));
}
// 运行结果如下:
// I Love Jbvb!
}
6、字符串与字符数组
有时会遇到字符串和字符数组相互转换的问题,可以方便地将字符数组转换为字符串,然后利用字符串对象的属性和方法,进一步对字符串进行处理。例如:
public class Test {
public static void main(String[] args) {
char[] helloArray = {'h','e','l','l','o'};
// 将字符数组作为构造函数的参数
String helloString = new String(helloArray);
System.out.println(helloString);
}
// 运行结果如下:
// hello
}
在使用new运算符创建字符串对象时,将字符串作为构造函数的参数,可以将字符数组转换为字符相应的字符串。相反,也可以将字符串转换为字符数组,这需要使用字符串对象的一个方法 toCharArray( )。它返回一个字符串对象转换过来的字符数组。例如:
public class Test {
public static void main(String[] args) {
String helloString = "hello";
char[] helloArray = helloString.toCharArray(); // 将字符串转换为字符数组
for (int i = 0; i < helloArray.length; i++) {
System.out.println(helloArray[i]);
}
}
// 运行结果如下:
// h
// e
// l
// l
// o
}
欢迎留言讨论~ ~ ~