Java中的字符串—概述,简单的字符串处理

    技术2023-11-10  88

    Java中的字符串—字符串概述,简单的字符串处理

    前言 因为一点事好久都没有更新了,今天开始回归,希望看到这篇文章的码友多多点击,多多评论,多多支持,谢谢。 本期更新Java中的字符串,只是之前在Java中的数据类型时候欠下的债,今天该还了。之前没有对字符串讲解,本期就更新一下相关的知识点吧。 (本文中如有任何错误的言论,还请路过的大佬不吝赐教,感激不尽!!!)


    一、字符串概述

    什么是字符串? 字符串是一系列字符组成的序列,例如我们常用到的电子邮箱账号和密码等都是字符串。其实从开始学习Java的时候我们就已经使用很多字符串了,如程序从控制台输出字符串等等。可以说字符串无处不在。


    二、如何使用字符串

    简单来说,使用字符串主要分两步:

    定义并且初始化字符串使用字符串,对其进行一系列的处理。

    创建字符串的语法

    //创建一个字符串对象“Hello World” String str = “Hello World”; //创建一个空字符串 String str = new String(); //创建一个字符串对象”Hello World” String str = new String(“Hello World”);

    在Java中,字符串被作为String类型的对象来处理。String类是Java设计人员预先提供的一个非常有用的类,它位于java.lang包中。默认情况下,该包被自动导入所有程序中。

    正因如此,大家可以通过使用String类提供的方法来完成对字符串的操作。String类提供了很多有用的方法。比如:如何获得字符串的长度、对两个字符串进行比较、链接两个字符串及提取一个字符串中的某一部分等。


    三、字符串的长度

    字符串是一串字符序列,String类的length()方法用来确定字符串的长度,即字符串中的字符数目。调用length()方法返回的结果就是字符串中的字符数。

    语法:

    字符串.length();

    代码示例: 要求:注册新用户,密码不能小于6位

    /** *注册类 */ import java.util.Scanner; //导包 public class Register { //创建类 public static void main(String[] args) { //主方法 Scanner input = new Scanner(System.in); String uname,pwd; System.out.println("请输入用户名:"); uname = input.next(); System.out.println("请输入密码:"); pwd = input.next(); if (pwd.length() >= 6 ){ System.out.println("恭喜你,注册成功!!!"); }else{ System.out.println("对不起,密码长度不能小于六位,注册失败。"); } } }

    运行结果:


    四、字符串的比较

    在生活中,经常会对字符串进行比较。举个栗子,例如在登录计算机操作系统时,输入的密码会与系统中已经保存的密码做比较;

    使用equals()方法可以来实现这样的需求,该方法的比较原理就是一一对应比较。在使用equals()方法比较两个字符串时,它将逐个对照组成两个字符串的每个字符是否相同。如果都相同,则返回true,否则返回false。对于字符的大小写也在检查范围之内。

    语法:

    字符串1.equals(字符串2);

    代码示例: 完成输入用户名和密码,判断输入是否正确。默认用户名为:admin,默认密码为:123456

    /** * 登录验证类 */ import java.util.Scanner; //导包 public class Login { public static void main(String[] args) { //主方法 Scanner input = new Scanner(System.in); String uname; String pwd; System.out.println("请输入用户名:"); uname = input.next(); System.out.println("请输入密码:"); pwd = input.next(); if (uname.equals("admin") && pwd.equals("123456")){ //判断用户名和密码是否正确 System.out.println("登录成功!!!"); }else{ System.out.println("用户名或者密码不匹配,登录失败!!!"); } } }

    运行结果: 可能你会疑问,为什么不能使用双等号( == )来判断两个字符串是否相同呢?

    在Java中,双等号和equals()方法虽然都应用于两个字符串,但是所判断的内容是有差别的。简单来讲,双等号判断的是两个字符串对象在内存中的首地址是否相等,即判断是否是同一个字符串对象,而equals()判断的是两个字符串对象的值是否相等。

    实践是检验真理的唯一标准,来吧,展示!!!

    /** * 创建一个类,用于验证“==”和equals()方法的不同之处 */ public class Difference { public static void main(String[] args) { //主方法 String str1 = new String("我爱我的祖国"); String str2 = new String("我爱我的祖国"); //用equals()判断 if (str1.equals(str2)){ System.out.println("两个字符串值相同。"); }else{ System.out.println("两个字符串值不同"); } //用“==”判断 if (str1 == str2){ System.out.println("两个字符串相同"); }else{ System.out.println("两个字符串不相同"); } } }

    运行结果:

    在使用equals()方法比较两个字符串时,对于字符的大小写也在检查的范围之内,。但是在现实生活中,有时我们会遇见很多忽略大小写的验证,比如登录某个平台时提示需要输入验证码,但是同时也会提示忽略大小写。再比如“Java”和“java”,都是指代这一门编程语言。而使用equals()方法进行比较则会认为他们不是相同的。因此,需要另外一种方法——equalsIgnoreCase()方法。Ignore是“忽略”的意思,这种方法在比较字符串的时候回忽略字符的大小写。

    语法:

    字符串1.equalsiIgnoreCase(字符串2);

    忽略大小写比较两个字符串,如果都相同,则返回true,否则返回false。

    Come on,尝试一下! 代码示例:

    /** * 登录验证类 */ import java.util.Scanner; //导包 public class Login2 { public static void main(String[] args) { //主方法 Scanner input = new Scanner(System.in); String uname; String pwd; System.out.println("请输入用户名:"); uname = input.next(); System.out.println("请输入密码:"); pwd = input.next(); //判断用户名和密码是否正确 if (uname.equalsIgnoreCase("admin") && pwd.equalsIgnoreCase("123456")){ System.out.println("登录成功!!!"); }else{ System.out.println("用户名或者密码不匹配,登录失败!!!"); } } }

    运行结果: 在Java中,String类还提供了两个方法用来改变字符串中两个字符的大小写。

    toLowerCase() : 转换字符串中的英文字母为小写。toUpperCase() : 转换字符串中的英文字母为大写。

    用图片展示会不会更直观一点? 语法:

    //返回字符串的小写形式 字符串.toLowerCase() //返回字符串的大写形式 字符串.toUpperCase()

    修改一下上述Login2的代码,同样可以实现忽略大小写的功能

    代码示例:

    /** * 登录验证类 */ import java.util.Scanner; //导包 public class Login2 { public static void main(String[] args) { //主方法 Scanner input = new Scanner(System.in); String uname; String pwd; System.out.println("请输入用户名:"); uname = input.next(); System.out.println("请输入密码:"); pwd = input.next(); //判断用户名和密码是否正确 if (uname.toLowerCase().equals(("ADMIN").toLowerCase()) && pwd.toUpperCase().equals(("123456").toUpperCase())){ System.out.println("登录成功!!!"); }else{ System.out.println("用户名或者密码不匹配,登录失败!!!"); } } }

    运行结果:


    本期更新就到这里,希望有多帮助!!! 关注我,持续更新!!!

    Processed: 0.009, SQL: 9