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

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


一、字符串概述

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


二、如何使用字符串

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

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

创建字符串的语法

//创建一个字符串对象“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("对不起,密码长度不能小于六位,注册失败。");
        }
    }
}

运行结果:

Javapaser将字符串解析为methodDeclaration java怎么解析字符串_字符串


四、字符串的比较

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

使用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("用户名或者密码不匹配,登录失败!!!");
        }

    }
}

运行结果:

Javapaser将字符串解析为methodDeclaration java怎么解析字符串_用户名_02


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

在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("两个字符串不相同");
        }
    }
}

运行结果:

Javapaser将字符串解析为methodDeclaration java怎么解析字符串_用户名_03

在使用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("用户名或者密码不匹配,登录失败!!!");
        }

    }
}

运行结果:

Javapaser将字符串解析为methodDeclaration java怎么解析字符串_System_04


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

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

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

Javapaser将字符串解析为methodDeclaration java怎么解析字符串_字符串_05


语法:

//返回字符串的小写形式
字符串.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("用户名或者密码不匹配,登录失败!!!");
        }

    }
}

运行结果:

Javapaser将字符串解析为methodDeclaration java怎么解析字符串_System_06


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