【学习笔记】实用类String的基本应用即常用方法

一、String类概述

  在Java中,字符串被作为String类型的对象来处理。

  String类位于java.lang包中,默认情况下会自动导入到所有的程序中。

创建String对象的方法如下:

  String s = "Hello World!";

或者

  String s = new String("Hello World!");

二、String类常用方法

  1.求字符串长度  length()  在语法中:length()返回字符串的长度。

例如,注册新用户时要求密码长度不能小于6位:

 1 import java.util.Scanner;
 2 
 3 public class Register {
 4 
 5     public static void main(String[] args) {
 6         Scanner input = new Scanner(System.in);
 7         String uname,pwd;
 8         System.out.print("请输入用户名:");
 9         uname = input.next();
10         boolean flag = false;//控制是否重新输入密码
11         do {
12             System.out.print("请输入密码:");
13             pwd = input.next();
14             //判断密码长度是否符合要求
15             if (pwd.length() < 6) {
16                 System.out.println("密码长度不能小于6位!");
17             } else {
18                 System.out.println("注册成功!");
19                 flag = true;
20             } 
21         } while (!flag );
22         System.out.println("您注册的账号为:"+uname+"密码:"+pwd+",请牢记!");
23         input.close();
24     }
25 
26 }

  2.字符串比较

  语法:  字符串1.equals(字符串2);

在使用equals()方法比较两个字符串时,它逐个地对照组成两个字符串的每个字符是否相同。如果都相同,则返回真值,否则返回假值。对于字符的大小写,也在检查范围之内。

  注:在Java中,双等号(==)和equals()方法应用于两个字符串,所判断的内容是有差别的。“==”判断的是两个字符串对象在内存中的地址,就是判断是否是同一个字符串对象,而equals()判断的是两个字符串对象的值。

  ★忽略大小写的字符串比较的语法:

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

  系统规定登陆时不考虑用户名的大小写问题实现登录,使用equalsIgnoreCase()方法即可实现。

    public class Login(){

      public static void main(String[] args){

        //省略部分代码

        if(uname.equalsIgnoreCase("TOM")&&pwd.equalsIgnoreCase("123456")){

          System.out.println("登陆成功!");

        }else{

          System.out.println("用户名或密码不匹配,登录失败!");

        }

      }

    }

  ★在Java中,String类提供了两个方法改变字符串中字符的大小写:

    toLowerCase():转换字符串中的英文字符为小写;

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

 1 import java.util.Scanner;
 2 
 3 public class Login {
 4 
 5     public static void main(String[] args) {
 6         Scanner input = new Scanner(System.in);
 7         String uname,pwd;
 8         System.out.print("请输入用户名:");
 9         uname = input.next();
10         System.out.print("请输入密码:");
11         pwd = input.next();
12         //equals()
13         if(uname.equals("TOM")&&pwd.equals("asdfgh")){
14             System.out.println("登陆成功!");
15         }else{
16             System.out.println("用户名和密码不匹配,登录失败!");
17         }
18         //equalsIgnoreCase()
19         if(uname.equalsIgnoreCase("TOM")&&pwd.equalsIgnoreCase("asdfgh")){
20             System.out.println("登陆成功!");
21         }else{
22             System.out.println("用户名或密码不匹配,登录失败!");
23         }
24         //toLowerCase()
25         //toUpperCase()
26         if(uname.toUpperCase().equals("TOM")&&pwd.toLowerCase().equals("asdfgh")){
27             System.out.println("登陆成功!");
28         }else{
29             System.out.println("用户名或密码不匹配,登录失败!");
30         }
31         input.close();
32 
33     }
34 
35 }

  3.字符串的连接

    语法:  字符串1.concat(字符串2);

    字符串2被连接到字符串1的后面,返回连接后的新字符串。

  所以连接字符串的方法有两种:使用“+”运算符和使用String类的concat()方法。

  4.字符串提取和查询

    public int indexOf(int ch);

    public int indexOf(String value);//搜索第一个出现的字符ch(或者字符串value)

    public int lastIndexOf(int ch);

    public int lastIndexOf(String value);//搜索最后一个出现的字符(或字符串value)

    public String substring(int index);//提取从位置索引开始的字符串部分

    public String substring(int beginindex,int endindex);//提取从beginindex开始到endindex之间的字符串部分

    public String trim();//返回一个前后不含任何空格的调用字符串的副本

    字符串事实上也是一个字符数组。

案例:

  学生使用作业提交系统提交Java作业时,输入Java源文件名,并输入自己的电子邮箱,提交前系统检查:是否是合法的Java文件名,电子邮件是否为合法的电子邮箱。

分析:

  判断Java的文件名是否合法,关键是判断它是不是以“.java”结尾;

  判断电子邮箱是否合法,至少要检查电子邮箱名中是否包含“@”和“.”,并且“@”在“.”之前。

这里需要使用到String类提供的提取和搜索字符串的方法:

 1 import java.util.Scanner;
 2 
 3 /**
 4  * 验证
 5  * @author Administrator
 6  *
 7  */
 8 public class Verify {
 9 
10     public static void main(String[] args) {
11         boolean fileCorrect = false;//标识文件名是否正确
12         boolean emailCorrect = false;//标识E-mail是否正确
13         System.out.println("-----欢迎进入作业提交系统----");
14         Scanner input = new Scanner(System.in);
15         System.out.print("请输入Java文件名:");
16         String fileName = input.next();
17         System.out.print("请输入你的邮箱:");
18         String email = input.next();
19         //检查Java文件名
20         int index = fileName.indexOf(".");        //“.”的位置
21         int indexlast = fileName.lastIndexOf(".");
22         if(index!=-1&&index!=0&&fileName.substring(indexlast,fileName.length()).equalsIgnoreCase(".java")){
23             fileCorrect = true;
24         }else{
25             System.out.println("文件名无效!");
26         }
27         //检查电子邮箱格式
28         if(email.indexOf("@")!=-1&&email.indexOf("@")!=0&&email.indexOf("@")<email.indexOf(".")){
29             emailCorrect = true;
30         }else{
31             System.out.println("E-mail无效!");
32         }
33         //输出检测结果
34         if(fileCorrect&&emailCorrect){
35             System.out.println("作业提交成功!");
36         }else{
37             System.out.println("作业提交失败!");
38         }
39         input.close();
40 
41     }
42 
43 }

  5.字符串拆分

    语法:  字符串.split(separator,limit);

    separator为可选项,标识拆分字符串是使用的一个或多个字符。

      如果不选择该项,则返回包含该字符串所有字符的元素数组。

    limit为可选项,该值用来限制返回数组中的元素个数。

posted @ 2017-05-28 17:22  滕秋宇  阅读(564)  评论(0编辑  收藏  举报