String类的判断功能,是通过其相应的成员方法实现的,返回类型为boolean。
一个示例:
package cn.it_02;
/*
* Object:是类层次结构中的根类,所有的类都直接或间接继承自该类。
* 如果一个方法的形式参数是Object,那么这里我们可以传递它的任意子类对象。
*
* String类的判断功能:
* boolean equals(Object obj):比较字符串的内容是否相等
* boolean equalsIgnoreCase(String str):比较字符串的内容是否相等,不区分大小写
* boolean startsWith(String str):判断字符串对象是否以str打头
* boolean endsWith(String str):判断字符串对象是否以str结尾
*
*/
public class StringDemo {
public static void main(String[] args) {
//直接赋值创建字符串对象
String s1="hello";
String s2="hello";
String s3="Hello";
//boolean equals(Object obj):比较字符串的内容是否相等
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
System.out.println("-------------");
//boolean equalsIgnoreCase(String str):比较字符串的内容是否相等,不区分大小写
System.out.println(s1.equalsIgnoreCase(s2));
System.out.println(s1.equalsIgnoreCase(s3));
System.out.println("-------------");
//boolean startsWith(String str):判断字符串对象是否以str打头
System.out.println(s1.startsWith("he"));
System.out.println(s1.startsWith("ll"));
System.out.println("-------------");
//boolean endsWith(String str):判断字符串对象是否以str结尾
System.out.println(s1.endsWith("lo"));
System.out.println(s1.endsWith("ll"));
}
}
结果:
应用:模拟用户登录
package cn.it_02;
/*
* 模拟用户登录,给三次机会,并提示还有几次机会
*
* 分析:
* (1)定义两个字符串对象,分别存储已存在的用户名和密码
* (2)键盘录入用户名和密码
* (3)拿键盘录入的用户名和密码与已存在的用户名和密码进行比较
* 如果内容相同,提示登录成功
* 如果内容不同,提示登录失败,并提示还有几次机会
*/
import java.util.Scanner;
public class StringTest {
public static void main(String[] args) {
//定义两个字符串对象,分别存储已存在的用户名和密码
String username="admin";
String password="admin";
//给三次机会,用for循环实现
for(int i=0;i<3;i++) {
//键盘录入用户名和密码
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名:");
String name=sc.nextLine();
System.out.println("请输入密码:");
String pwd=sc.nextLine();
//拿键盘录入的用户名和密码与已存在的用户名和密码进行比较
if(name.equals(username)&&pwd.equals(password)) {
System.out.println("登录成功");
break;
}else {
if(2-i==0) {
System.out.println("用户名和密码被锁定,请联系管理员");
}else {
System.out.println("登录失败,你还有"+(2-i)+"次机会");//2,1,0
}
}
}
}
}
结果: