zoukankan      html  css  js  c++  java
  • 【学习笔记】实用类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为可选项,该值用来限制返回数组中的元素个数。

  • 相关阅读:
    [NOIP2010]关押罪犯
    图的联通入门题
    【luogu4777】扩展中国剩余定理(EXCRT)[数论 扩展中国剩余定理]
    【luogu3868】【TJOI2009】猜数字[模板] [数论 中国剩余定理]
    【luogu1082】【noip2012】同余方程 [数论 扩展欧几里德]
    【luogu1962】斐波那契数列 [矩阵乘法]
    【uva1644】 素数间隔 Prime Gap [数学 质数筛]
    【uva307】小木棍 Sticks [dfs搜索]
    【luogu4011】孤岛营救问题(拯救大兵瑞恩) [最短路][分层思想]
    【noip2015】
  • 原文地址:https://www.cnblogs.com/tengqiuyu/p/6916107.html
Copyright © 2011-2022 走看看