一、比较
1.回顾
- 数据类型分类
基础数据类型:byte,short,int,long等
引用数据类型:类,接口,数组
2.==比较
基本类型:比较的是数据值是否相同
引用类型:比较的是地址值是否相同
3.方法
- 字符串属于
String类,所以是引用类型
- 字符串是对象,它
比较数据值是否相同,是通过一个方法来实现的,equals()
二、代码
1.登录
package nsys.stringStudy;
import java.util.Scanner;
/**
* @Author: nsys
* @Date: 2021-10-07 8:55
* @Description: String_用户登录
*/
public class StringDemo02 {
public static void main(String[] args) {
/*
while循环:
代码过于冗余,计数器与判断
for循环:
计数器已经在判断条件中,更加简洁
*/
// 调用load方法
// whileLoad();
forLoad();
}
// while_用户登录方法
public static void whileLoad() {
// 初始化输入密码次数
int count = 1;
String testUserName = "root";
String testPassWord = "1";
// 加入while死循环
while (true) {
// 实例化Scanner对象
Scanner sc = new Scanner(System.in);
// 提示用户输入用户名
System.out.println("请输入账号:");
String userName = sc.nextLine();
// 提示用户输入密码
System.out.println("请输入密码:");
String passWord = sc.nextLine();
// 判断如果登录次数小于三次
if (count < 3) {
if (userName.equals(testUserName) && passWord.equals(testPassWord)) {
System.out.println("密码正确");
break;
} else {
System.out.println("密码错误,还剩" + (3 - count) + "次机会\n");
count++;
}
} else if (count == 3) {
if (userName.equals("root") && passWord.equals("12345")) {
System.out.println("密码正确");
break;
} else {
System.out.println("输入账号密码错误次数过多,请稍后重试");
break;
}
}
}
}
// for_用户登录方法
public static void forLoad() {
String testUserName = "root";
String testPassWord = "1";
for (int i = 1; i <= 3; i++) {
// 实例化Scanner对象
Scanner sc = new Scanner(System.in);
// 提示用户输入用户名
System.out.println("请输入账号:");
String userName = sc.nextLine();
// 提示用户输入密码
System.out.println("请输入密码:");
String passWord = sc.nextLine();
if (userName.equals(testUserName) && passWord.equals(testPassWord)) {
System.out.println("账号密码正确");
break;
} else {
if (i == 3) {
System.out.println("账号/密码错误过多,请稍后再试");
} else {
System.out.println("\n账号/密码错误,还剩" + (3 - i) + "次");
}
}
}
}
}