【Java开发】Java基础全体系入门第26篇:2.4 创建字符串对象的区别对比,2.5 字符串的比较【附代码文档】

35 阅读1分钟

🚀🚀🚀本篇主要内容

2.4 创建字符串对象的区别对比

- 通过构造方法创建

​ 通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值不同

- 直接赋值方式创建

Apache Commons 文档

​ 以“”方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,并在字符串池中维护

2.5 字符串的比较

2.5.1 字符串的比较

- == 比较基本数据类型:比较的是具体的值

OpenJDK 文档

- == 比较引用数据类型:比较的是对象地址值

String类 : public boolean equals(String s) 比较两个字符串内容是否相同、区分大小写

代码 :

package com.itheima.stringmethod;

public class Demo1Equals {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = "ABC";
        String s3 = "abc";

        // equals : 比较字符串内容, 区分大小写
  

2.6 用户登录案例【应用】

案例需求 :

​ 已知用户名和 ,请用程序实现模拟用户登录。总共给三次机会,登录之后,给出相应的提示

**实现步骤 : **

1. 已知用户名和 ,定义两个字符串表示即可 2. 键盘录入要登录的用户名和 ,用 Scanner 实现 3. 拿键盘录入的用户名、 和已知的用户名、 进行比较,给出相应的提示。 4. 字符串的内容比较,用equals() 方法实现 5. 用循环实现多次机会,这里的次数明确,采用for循环实现,并在登录成功的时候,使用break结束循

代码实现 :

package com.itheima.test;

import java.util.Scanner;

public class Test1 {
    /*
        需求:已知用户名和 ,请用程序实现模拟用户登