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)); //true
System.out.println(s1.equals(s3)); //false
System.out.println("-----------");
//boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
System.out.println(s1.equalsIgnoreCase(s2)); //true
System.out.println(s1.equalsIgnoreCase(s3)); //true
System.out.println("-----------");
//boolean startsWith(String str):判断字符串对象是否以指定的str开头
System.out.println(s1.startsWith("he")); //true
System.out.println(s1.startsWith("ll")); /false
//boolean endsWith(String str):判断字符串对象是否以指定的str结尾
System.out.println(s1.endWith(lo)); //true
System.out.println(s1.endWith(ol)); //false
}
}
案例练习:需求:模拟登录,给三次机会,并提示还有几次
分析:
- A:定义两个字符串对象,用于存储已经存在的用户名和密码
- B:键盘录入用户名和密码
- C:拿键盘录入的用户名和密码和已经存在的用户名和密码进行比较
如果内容相同,提示登录成功
如果内容不同,提示登录失败,并提示还有几次机会
package com.wen_02;
import java.util.Scanner;
public class StringTest {
public static void main(String[] args) {
//定义两个字符串对象,用于存储已经存在的用户名和密码
String username = "hewenqing";
String password = "12345678";
//给三次机会,用for循环实现
for(int x=0; x<3; x++) {
//键盘录入用户名和密码
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = sc.nextLine();
System.out.println("请输入密码:");
String pwd = sc.nextLine();
//拿键盘录入的用户名和密码和已经存在的用户名和密码进行比较
if(username.equals(name) && password.equals(pwd)) {
System.out.println("登录成功");
break;
}else {
if((2-x) ==0) {
System.out.println("用户名和密码被锁定,请与管理员联系");
}else {
System.out.println("登录失败,你还有"+(2-x)+"次机会"); //2,1,0
}
}
}
}
}