一、String类概述

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

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

创建String对象的方法如下:

  String s = "Hello World!";

或者

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

二、String类常用方法

  1.求字符串长度  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.print("请输入用户名:");
uname = input.next();
boolean flag = false;//控制是否重新输入密码
do {
System.out.print("请输入密码:");
pwd = input.next();
//判断密码长度是否符合要求
if (pwd.length() < 6) {
System.out.println("密码长度不能小于6位!");
} else {
System.out.println("注册成功!");
flag = true;
}
} while (!flag );
System.out.println("您注册的账号为:"+uname+"密码:"+pwd+",请牢记!");
input.close();
} }

  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():转换字符串中的英文字符为大写。

 import java.util.Scanner;

 public class Login {

     public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String uname,pwd;
System.out.print("请输入用户名:");
uname = input.next();
System.out.print("请输入密码:");
pwd = input.next();
//equals()
if(uname.equals("TOM")&&pwd.equals("asdfgh")){
System.out.println("登陆成功!");
}else{
System.out.println("用户名和密码不匹配,登录失败!");
}
//equalsIgnoreCase()
if(uname.equalsIgnoreCase("TOM")&&pwd.equalsIgnoreCase("asdfgh")){
System.out.println("登陆成功!");
}else{
System.out.println("用户名或密码不匹配,登录失败!");
}
//toLowerCase()
//toUpperCase()
if(uname.toUpperCase().equals("TOM")&&pwd.toLowerCase().equals("asdfgh")){
System.out.println("登陆成功!");
}else{
System.out.println("用户名或密码不匹配,登录失败!");
}
input.close(); } }

  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类提供的提取和搜索字符串的方法:

 import java.util.Scanner;

 /**
* 验证
* @author Administrator
*
*/
public class Verify { public static void main(String[] args) {
boolean fileCorrect = false;//标识文件名是否正确
boolean emailCorrect = false;//标识E-mail是否正确
System.out.println("-----欢迎进入作业提交系统----");
Scanner input = new Scanner(System.in);
System.out.print("请输入Java文件名:");
String fileName = input.next();
System.out.print("请输入你的邮箱:");
String email = input.next();
//检查Java文件名
int index = fileName.indexOf("."); //“.”的位置
int indexlast = fileName.lastIndexOf(".");
if(index!=-1&&index!=0&&fileName.substring(indexlast,fileName.length()).equalsIgnoreCase(".java")){
fileCorrect = true;
}else{
System.out.println("文件名无效!");
}
//检查电子邮箱格式
if(email.indexOf("@")!=-1&&email.indexOf("@")!=0&&email.indexOf("@")<email.indexOf(".")){
emailCorrect = true;
}else{
System.out.println("E-mail无效!");
}
//输出检测结果
if(fileCorrect&&emailCorrect){
System.out.println("作业提交成功!");
}else{
System.out.println("作业提交失败!");
}
input.close(); } }

  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. CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.h ...

  2. Linux里的用户管理

    在linux中系统中,它并不认识帐号名称.它认识的是我们的帐号ID,帐号ID保存在/etc/passwd文件中.我们在登录linux主机时,在输入完帐号和密码时,linux会先查找/etc/passw ...

  3. postgress数据库 出现大写字母 字段名但是提示说不存在

    select BSK001 from dbdata 报错: column "bsk001" of relation "dbdata" does not exis ...

  4. 关于在VS 2013 Reshaper 中不能使用Alt+Enter 的解决

    新装Vs 2013 ,感觉还是不错,但是很恶心的是居然,Resharper 万能的快捷键不能用,让洒家真是恶心极了.   通过Google 在StackOverflow 上发现了解决方法,但好像看他的 ...

  5. 谈谈easyui datagrid 的数据加载

    文章目录 1url方式加载数据 1.1调用方式 1.2相关方法 1.3二次加载问题 2加载本地数据方式 2.1调用方式 2.2如何分页 2.3加载中效果 2.4如何不统计总数 这篇文章只谈jQuery ...

  6. python get() 和getattr()

    get() Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法: dict.get(key, default=None) 实例1: d={'A':1,'b':2} ...

  7. flask总结01

    一:Flask的基本介绍和小案例 01:flask的基本介绍 Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开 ...

  8. 【原创】SpringMVC同一RequestMapping返回不同的类型

    曾经在工作中遇到过导出文件时,需要根据不同情况返回不同的数据的情况. 例如: 如果没有数据,弹框提示"没有数据" 导出报错,弹框提示"系统错误" 正常情况下,下 ...

  9. codeforces 1101F Trucks and Cities 区间dp+单调优化 好题

    题目传送门 题意简述:(来自洛谷) 有n个城市坐落在一条数轴上,第ii个城市位于位置ai​. 城市之间有m辆卡车穿行.每辆卡车有四个参数:si​为起点编号,fi​为终点编号,ci​表示每行驶1个单位长 ...

  10. Spring 操作 jdbc 链接数据库

    1. 新建资源文件 db.properities jdbc.user=root jdbc.password=root jdbc.driverClass=com.mysql.jdbc.Driver jd ...