Java-字符串_String_比较

一、比较

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) + "次");
                }

            }
        }
    }

}
posted @ 2021-10-07 10:29  难删亦删  阅读(99)  评论(0)    收藏  举报