1.判断字符串的开头和结尾
startsWith() 方法和endsWith() 方法分别用于判断字符串是否以指定内容开始或结束。 这两个方法的返回值都是boolean类型。
startsWith() 方法
该方法用于判断当前字符串对象的前缀是否为参数指定的字符串。
语法:
海峡 startsWith(字符串前缀)
prefix:用作前缀的字符。
endsWith() 方法
该方法用于判断当前字符串是否以给定的子串结尾。
语法:
海峡 endsWith(字符串后缀)
后缀:用作后缀的字符串。
示例 在项目中创建一个类StartOrEnd,在main方法中创建一个String变量,判断该变量的前导和尾随字符串。
public classStartOrEnd { // 创建类
publicstatic voidmain(String args[]) { // 主方法
String num1 = "22045612"; // 定义字符串 num1
字符串 num2 = "21304578"; // 定义字符串 num2
booleanb = num1.startsWith("22"); //判断字符串num1是否以'22'开头
booleanb2 = num1.endsWith("78"); //判断字符串num1是否以'78'开头
booleanb3 = num2.startsWith("22"); //判断字符串num2是否以'22'开头
booleanb4 = num2.endsWith("78"); //判断字符串num2是否以'78'开头
// 输出信息
System.out.println("字符串 num1 是否以 '22' 开头?" + b);
System.out.println("字符串 num1 是否以 '78' 结尾?" + b2);
System.out.println("字符串 num2 是否以 '22' 开头?" + b3);
System.out.println("字符串 num2 是否以 '78' 结尾?" + b4);
}
}
运行结果如图1所示。
图1 运行结果
2.判断字符串是否相等
如果使用字符串作为对象,不能简单地使用比较运算符“==”来进行比较java如何判断字符串是否为纯数字,因为比较运算符比较的是两个字符串的地址是否相同。 即使两个字符串的内容相同,但两个对象的内存地址不同。 使用比较运算符仍将返回 false。
示例 使用比较运算符比较两个字符串,示例代码如下:
String tom = new String("我是学生");
String jerry = new String("我是学生");
布尔 b = (tom == jerry);
此时布尔变量b的值为false,因为字符串是对象,tom和jerry是引用。 内存图如图1所示。
图1 存储器示意图
因此,要比较两个字符串的内容是否相等,应该使用 equals() 方法和 equalsIgnoreCase() 方法。
equals() 方法
如果两个字符串在使用 equals() 方法进行比较时具有相同的字符和长度,则返回 true。
语法:
海峡等于(Stringotherstr)
str, otherstr:要比较的两个字符串对象。
equalsIgnoreCase() 方法
使用 equals() 方法比较字符串时,它们区分大小写。 相反,使用 equalsIgnoreCase() 方法比较两个字符串是否相等,同时忽略大小写。 返回结果还是boolean类型。
语法:
str.equalsIgnoreCase(Stringotherstr)
str, otherstr:要比较的两个字符串对象。
通过下面的例子可以看出equals()方法和equalsIgnoreCase()方法的区别。
比如在项目中创建一个类Opinion,在main方法中创建一个String变量,实现两个字符串是否相等,并输出结果。
publicstatic voidmain(String args[]) { //主要方法
String s1 = new String("abc"); //创建字符串对象s1
String s2 = new String("ABC"); //创建字符串对象s2
String s3 = new String("abc"); //创建字符串对象s3
booleanb = s1.equals(s2); //使用equals()方法比较s1和s2
booleanb2 = s1.equalsIgnoreCase(s3); //使用equalsIgnoreCase()方法比较s1和s2
System.out.println(s1+ " 等于 " + s2 + " :" + b); // 输出信息
System.out.println(s1+ "equalsIgnoreCase" + s2 + " :" + b2);
}
}
运行结果如图2所示。
图2 运行结果
3.按字典顺序比较两个字符串
compareTo() 方法根据字符串中每个字符的 Unicode 值按字典顺序比较两个字符串。 按字典顺序比较此 String 对象表示的字符序列与参数字符串表示的字符序列。 如果此 String 对象在字典顺序上位于参数字符串之前,则比较结果为负整数; 如果此 String 对象按字典顺序跟随参数字符串,则比较结果为正整数; 如果两个字符串相等,则结果为 0。
语法:
海峡比较(Stringotherstr)
str, otherstr:要比较的两个字符串对象。
说明:仅当 equals(Object) 方法返回 true 时java如何判断字符串是否为纯数字,compareTo() 方法才返回 0。
在项目中创建一个Wordbook类,在main方法中创建一个String变量,使用compareTo()方法比较字符变量。 并输出比较结果。
public classWordbook { //创建一个类
publicstatic voidmain(String args[]) { //主要方法
String str = new String("b");
String str2 = new String("a"); //3个字符串进行比较
String str3 = new String("c");
System.out.println(str+ "compareTo" + str2 + ":"
+ str.compareTo(str2)); // 输出str与str2的比较结果
System.out.println(str+ "compareTo" + str3 + ":"
+ str.compareTo(str3)); // 输出str与str3的比较结果
}
}
运行结果如图1所示:
图1 运行结果
今天就写到这里吧,以后继续写,字符串比较重要,还是写的详细点吧!