返回顶部
首页 > 资讯 > 后端开发 > Python >Java基础之String类使用与字符串比较
  • 172
分享到

Java基础之String类使用与字符串比较

2024-04-02 19:04:59 172人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、String类概述二、String类的特点三、String类的构造方法四、创建字符串对象两种方式的区别五、字符串的比较六、用户登录案例一、String类概述 String类代

一、String类概述

String类代表字符串,java程序中的所有字符串文字(例如"abc")都被实现为此类的实例。也就是说,java程序中所有的双引号字符串,都是String类的对象。

String类在java.lang包下,所有使用的时候不需要导包!

二、String类的特点

字符串不可变,它们的值在创建后不能被更改 虽然String的

这里是引用值是不可变的,但是它们可以被共享

字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])

三、String类的构造方法

方法名说明
public String()创建一个空白字符串对象,不含有任何内容
public String(char[] chs)根据字符数组的内容,来创建字符串对象
public String(byte[] bys)根据字节数组的内容,来创建字符串对象
String s = "abc"; 直接赋值的方式创建字符串对象,内容就是abc

示例代码:

public class StringDemo01 {
    public static void main(String[] args) {
        //public String():创建一个空白字符串对象,不含有任何内容
        String s1 = new String();
        System.out.println("s1:" + s1);
        //public String(char[] chs):根据字符数组的内容,来创建字符串对象
        char[] chs = {'a', 'b', 'c'};
        String s2 = new String(chs);
        System.out.println("s2:" + s2);
        //public String(byte[] bys):根据字节数组的内容,来创建字符串对象
        byte[] bys = {97, 98, 99};
        String s3 = new String(bys);
        System.out.println("s3:" + s3);
        //String s = “abc”; 直接赋值的方式创建字符串对象,内容就是abc
        String s4 = "abc";
        System.out.println("s4:" + s4);
    }
}

四、创建字符串对象两种方式的区别

通过构造方法创建

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

直接赋值方式创建

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

五、字符串的比较

==号的作用

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

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

equals方法的作用

方法介绍

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

示例代码:

public class StringDemo02 {
    public static void main(String[] args) {
        //构造方法的方式得到对象
        char[] chs = {'a', 'b', 'c'};
        String s1 = new String(chs);
        String s2 = new String(chs);
        //直接赋值的方式得到对象
        String s3 = "abc";
        String s4 = "abc";
        //比较字符串对象地址是否相同
        System.out.println(s1 == s2);
        System.out.println(s1 == s3);
        System.out.println(s3 == s4);
        System.out.println("--------");
        //比较字符串内容是否相同
        System.out.println(s1.equals(s2));
        System.out.println(s1.equals(s3));
        System.out.println(s3.equals(s4));
    }
}    

六、用户登录案例

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

思路:

1、已知用户名和密码,定义两个字符串表示即可

2、键盘录入要登录的用户名和密码,用 Scanner 实现

3、拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示。字符串的内容比较,用equals() 方法实现

4、用循环实现多次机会,这里的次数明确,采用for循环实现,并在登录成功的时候,使用break结束循环

 示例代码:

public class StringTest01 {
    public static void main(String[] args) {
        //已知用户名和密码,定义两个字符串表示即可
        String usernam = "xiazhi121";
        String passwor = "12345";
        //用循环实现多次机会,这里的次数明确,采用for循环实现,并在登录成功的时候,使用break结束循环
        for(int i=0; i<3; i++) {
            //键盘录入要登录的用户名和密码,用 Scanner 实现
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入用户名:");
            String name = sc.nextLine();
            System.out.println("请输入密码:");
            String pwd = sc.nextLine();
            //拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示。字符串的内容比较,用equals() 方法实现
            if (name.equals(usernam) && pwd.equals(passwor)) {
                System.out.println("登录成功");
                break;
            } else {
                if(2-i == 0) {
                    System.out.println("你的账户被定,请与管理员联系");
                } else {
                    //2,1,0
                    //i,0,1,2
                    System.out.println("登录失败,你还有" + (2 - i) + "次机会");
                }
            }
        }
    }
}

到此这篇关于Java基础之String类使用与字符串比较的文章就介绍到这了,更多相关Java String类内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java基础之String类使用与字符串比较

本文链接: https://lsjlt.com/news/165952.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java基础之String类使用与字符串比较
    目录一、String类概述二、String类的特点三、String类的构造方法四、创建字符串对象两种方式的区别五、字符串的比较六、用户登录案例一、String类概述 String类代...
    99+
    2024-04-02
  • Kotlin基础通关之字符串与数字类型
    1.kotlin的字符串操作和Java有些不同,有些新增。 1)先看字符串比较 java中==比较的是变量的引用是否指向同一个地址,Kotlin中用===比较引用。 kotlin中用...
    99+
    2024-04-02
  • Python入门学习之字符串与比较运算符
    Python字符串 字符串或串(String)是由数字、字母、下划线组成的一串字符。 一般记为 : s="a1a2···an"(n>=0) 它是编程语言中表示文本的数据类型。 python的...
    99+
    2022-06-04
    字符串 运算符 入门
  • Python之路-基础数据类型之字符串
    字符串是不可变的数据类型 索引(下标) 我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就叫索引,也叫下标, 注意:索引都是从0开始,只有...
    99+
    2023-01-30
    之路 字符串 数据类型
  • Python 基础之字符串string详解及实例
    Python字符串(string) 详解 及 代码 Python的字符串可以使用单引号('), 双引号("), 三引号('''); 三引号(''')里面, 可以添加单引号和双引号, 也可以通过转义序列()添...
    99+
    2022-06-04
    字符串 详解 实例
  • java基础之日期与字符串的任意转换
    目录   前言: 日期转字符串: 1.创建日期对象: 2.创建字符串的格式化模版: 字符串转日期: 前言: 本文主要讲述如何将日期类型转化为字符串类型,以及将字符串类型转化为日期类型,一看就懂,一学就会! 日期转字符串: 1.创建日期...
    99+
    2023-08-31
    java
  • SQL 基础之字符串和操作符使用(三)
    SQL 基础之字符串使用 :字符串可以是 SELECT 列表中的一个字符、数字、日期但日期和字符只能在单引号中出现。每当返回一行时,字符串被输出一次1、接上文使用过程中如果想把两个列串在一起,并加入...
    99+
    2024-04-02
  • Golang基础教程之字符串string实例详解
    目录1、 string的定义2、string不可变3、使用string给另一个string赋值4、string重新赋值补充:字符串拼接总结1、 string的定义 Golang中的s...
    99+
    2024-04-02
  • Python基础-字符串的使用
    字符串解释:字符串是不可变的,所有元素赋值和切片赋值操作都是非法的,属于序列一种(字符串、元组、列表)。  一、格式化字符串 (1)、format()方法==str.format() 作用:将传入的参数进行格式化 1、替换字段名的两种方...
    99+
    2023-01-31
    字符串 基础 Python
  • Java String类字符串的理解与认知
    目录一、前言二、String类概述三、字符串的特点四、String 构造方法图示:代码演示:五、String类对象的特点六、比较字符串的方法用法:代码图示:七、判断两个字符串地址是否...
    99+
    2024-04-02
  • Java基础学习之字符串知识总结
    目录一、前言二、String 类(字符串常量)2.1 String 类实例的创建2.2 String 对象的比较2.3 String对象的空值2.4 字符串拼接三、StringBui...
    99+
    2024-04-02
  • C语言与C++中关于字符串使用的比较
    目录相似处字符串字面值C++标准库string类型相似处   C++作为C的进阶版,可以调用C的库函数。C++标准库包括了C标准库,C++头文件cctype其实就...
    99+
    2024-04-02
  • MySQL基础教程3 —— 数据类型之字符串类型
    字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。 1. CHAR和VARCHAR类型 CHAR和V...
    99+
    2022-05-28
    enum MySQL set varchar 字符串 数据类型
  • Python基础之文本常量与字符串模板
    目录一、前言二、首字母大写三、字符串模板四、高级模板五、format用法六、进阶用法七、高阶用法一、前言 在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符...
    99+
    2024-04-02
  • 使用golang怎么滴字符串进行比较
    本篇文章为大家展示了使用golang怎么滴字符串进行比较,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。golang的优点有哪些golang是一种编译语言,可以将代码编译为机器代码,编译后的二进制文件...
    99+
    2023-06-06
  • java基础之字符串编码知识点总结
    目录一、为什么要编码二、如何“翻译”三、Java 中需要编码的场景3.1 I/O 操作中存在的编码3.2 内存中操作中的编码四、Java 中如何编解码4.1 按照 ISO-8859-...
    99+
    2024-04-02
  • Java常用类之字符串相关类使用详解
    目录字符串相关类1.String类的使用2.理解String类源码3.使用StringBuilder类4.StringBuilder类源码字符串相关类 String、StringBu...
    99+
    2022-11-13
    Java 字符串工具类 Java字符串类 Java字符串
  • python基础字符串str怎么使用
    本篇内容介绍了“python基础字符串str怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!字符串str:定义:是由一系列字符组成的不...
    99+
    2023-06-22
  • 使用python怎么比较字符串是否一样
    今天就跟大家聊聊有关使用python怎么比较字符串是否一样,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。示例使用注意事项1.有时候两个字符串打印出来看着一样,但是判断却是False?...
    99+
    2023-06-15
  • 如何使用go语言实现字符串比较
    今天小编给大家分享的是如何使用go语言实现字符串比较,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。go语言比较字符串的方法:1、使用“==”运算符,语法“字符串1==字符串2”;2、...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作