一、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为可选项,该值用来限制返回数组中的元素个数。

【学习笔记】实用类String的基本应用即常用方法的更多相关文章

  1. JavaScript学习笔记之string

    字符串定义: 1,var myString=“内容”:or var myString=‘内容’ 2,var myString= new String(“内容”)           ---〉创建对象, ...

  2. HTML 学习笔记 JavaScript (String)

    String对象用于存储字符串的数据.这里我们做了JavaScript的String字符串对象常用操作总结. 创建String对象的方式 声明:String 对象的方法也可以在所有基本字符串值中访问到 ...

  3. Thinking in java学习笔记之String的不可变性

    为了提高效率,可以使用StringBuffer或StringBuilder 1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与 ...

  4. Java学习笔记 02 String类、StringBuilder类、字符串格式化和正则表达式

    一.String类一般字符串 声明字符串 >>String str 创建字符串 >>String(char a[])方法用于将一个字符数组创建为String对象 >> ...

  5. Redis学习笔记(2)-String

    package cn.com; import java.util.List; import redis.clients.jedis.Jedis; public class Redis_String { ...

  6. java学习笔记之String类

    String类总结 String类概述: java.lang.String 类是字符串操作类 String类的常用构造方法: //1.直接赋值 String str= "hellojava& ...

  7. Java学习笔记之——String和Arrays常用方法

    一.String常用方法 1.subString(int beginIndex,int endIndex) 截取字符串 从beginIndex开始截取,截取endIndex-beginIndex的长度 ...

  8. 【学习笔记】String进阶:StringBuffer类(线程安全)和StringBuilder类

    一.除了使用String类存储字符串之外,还可以使用StringBuffer类存储字符串.而且它是比String类更高效的存储字符串的一种引用数据类型. 优点: 对字符串进行连接操作时,使用Strin ...

  9. 3.2常用类(java学习笔记)String与StringBuffer

    一.String String又称不可变字符序列. 我们看JDK源码中用于字符存储的数组有final修饰,final修饰变量就代表变量不能改变. 我们可以看API文档中对String的描述. Stri ...

随机推荐

  1. 【转】如何把CD上的音乐拷贝到电脑上

    参考:https://www.ixueshu.com/document/9c44893da6e90cf7318947a18e7f9386.html 参考:https://jingyan.baidu.c ...

  2. CI框架部署后访问出现404

    昨天新配置了一个PHP集成开发环境,安装完后,把项目放到Apache服务器的www目录下,发现只能打开首页,其他页面全部无法打开,当时比较纳闷,以为是服务器没有配置好,测试了一下,发现环境配置没有问题 ...

  3. vs2017启动iis局域网无法访问解决

    1.找到IISExpress的配置文件,位于 <文档>/IISExpress/config文件夹下,打开applicationhost.config,找到如下代码: <site na ...

  4. Github 三种克隆模式

    1.我称为平常模式,用于项目的本地克隆使用.(无权限.无加密.ssh protocol) git clone http://github.com/username/exampleproject 2.我 ...

  5. maven项目运行找不到类的错误

    Maven项目 eclipse工具 错误: [INFO] -------------------------------------------------------------[ERROR] CO ...

  6. php常用的系统函数大全

    字符串函数 strlen:获取字符串长度,字节长度 substr_count 某字符串出现的次数 substr:字符串截取,获取字符串(按照字节进行截取) mb_strlenmb_substr str ...

  7. ajax返回数据成功 却进入error方法

    应该是dataType的原因,dataType为json,但是返回的data不是json格式 于是将dataType:"json"去掉就ok了

  8. Ubuntu Server 中实际内存与物理内存不相等的问题

    记录 来源 v2ex,提到了一个平时不是很起眼的问题,Ubuntu Server 中系统默认会占用 128M 内存,用于 CVM 内部的 kdump 服务. 科普 查看 CVM 所拥有的物理内存 通过 ...

  9. Olesya and Rodion (思维)

    Olesya loves numbers consisting of n digits, and Rodion only likes numbers that are divisible by t. ...

  10. python数据结构与算法之list

    1. 数据结构的操作 作为一种包含元素的数据结构,需要提供一些“标准”操作: 创建和销毁 判断是否空,如果容量有限,还需判断是否满 向结构中加入元素或从中删除 访问结构里的元素 不同的编程语言可能影响 ...