5.测试字符串是否相等
5.1 在实际开发中,经常会出现一些比较字符串的程序模块,通过比较字符串是否相等,来实现某个要求。例如,通过比较两个字符串是否相等,来确认密码和用户名是否正确,从而判断是否可以登录系统。这个在系统登录界面经常遇到。测试字符串是否相等的方法是equals(String str)。
public class test {
public static void main(String[] args) {
String str1="administrator";
String str2="administrator";
if(str1.equals(str2))
System.out.println("密码正确,请登录系统");
else
System.out.println("密码不正确,请重新输入密码");
}
}
代码说明:第4,5行定义了两个字符串,第6行是判断语句,通过equals()方法判断两个指定的字符串是否相等,equals()方法的类型是bool类型。
运行结果:
密码正确,请登录系统
5.2 在实际程序开发中,有的登录系统对于输入密码的大小写忽略,此时在Java语言中也有一个方法就是equalsIgnoreCase(String str),这个方法忽略字符串大小写。
public class test {
public static void main(String[] args) {
String str1="administrator";
String str2="Administrator";
if(str1.equalsIgnoreCase(str2))
System.out.println("密码正确,请登录系统");
else
System.out.println("密码不正确,请重新输入密码");
}
}
程序说明: 第4,5行定义了两个字符串,它们的不同之处就是首字母是否大小写,第6行使用了equalsIgnoreCase()方法来进行判断。
运行结果:
密码正确,请登录系统
6.查找特定子串
查找字符串子串的方法有3个:
1)"indexOf(子串内容)"方法是帮助查找子串,如果返回的是负数,就表示在当前字符串中还没有找到所查找的子串。
2)“startsWith(子串内容)”方法测试当前字符串是否以一个子串开始。
3)“endsWith(子串内容)”方法测试当前字符串是否以子串内容为结尾。
6.1
public static void main(String[] args) {
String str1="是一个很优秀的程序员";
//通过indexOf()方法来查找字符串中的元素位置
System.out.println(str1.indexOf("个"));
//通过endWith()方法来查找当前元素是否是字符串结尾
System.out.println(str1.endsWith("员"));
//通过startsWith()方法来查找当前元素是否是字符串的开头
System.out.println(str1.startsWith("明"));
}
}
代码说明:str1.indexOf("个")是测试字符串中“个”这个子串的位置。str1.endsWith("员")是测试字符串“员”是否是这个字符串的结尾。str1.startsWith("明")是测试字符串“明”是否是这个字符串的开始。后面两个方法返回的是布尔型数据。
运行结果:
2
true
false
7.toString()方法
先看一个程序段:
public class test {
public static void main(String[] args) {
String str1="小梁是一个很优秀的程序员";
System.out.println(str1);
}
}
运行结果:
小梁是一个很优秀的程序员
为什么可以直接将这个对象作为输出的参数呢?因为在Java语言内含一种机制,系统默认会在这些对象后面自动加上toString()方法。在Java类库中的基本类中,每一个类都有一个toString()方法,可以将这个方法写出来,也可以直接使用对象来代替toString()方法。
public class test {
public static void main(String[] args) {
String str1="小梁是一个很优秀的程序员";
System.out.println(str1.toString());
}
}
代码说明:其实上面两段输出一模一样他们之间唯一不同的是,在第一段程序的输出语句中是把对象作为参数,将其内容输出。而第二段的程序段则是直接运用toString()方法,将对象中的字符串提取出来,然后在进行输出。
运行结果:
小梁是一个很优秀的程序员
对于Java语言的类库来说,一般可以省去toString()方法,但如果是自己设计的类,最好加上这个方法,养成编程的良好习惯。