一、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. Python——requests的安装及入门-贴吧爬虫

    一.windows平台下requests的安装 1.win+R,输入cmd,打开命令行窗口,输入命令:pip install requests ,即可自动安装库成功 2.输入命令:pip list,即 ...

  2. centos安装mysql57

    下载源安装文件 https://dev.mysql.com/downloads/repo/yum/ wget http://repo.mysql.com//mysql57-community-rele ...

  3. 12、OpenCV Python 图像梯度

    __author__ = "WSX" import cv2 as cv import numpy as np def lapalian_demo(image): #拉普拉斯算子 # ...

  4. select和epoll的实现

    select:fd_set是输入结果参数,每次select之后,还得重置fd_set (1)使用copy_from_user从用户空间拷贝fd_set到内核空间,第一步需要复制所有感兴趣的文件描述符到 ...

  5. 2、开始学习C++

    1.创建C++程序 C++程序是严格区分大小写,Cout与COUT都是识别不出来的,下面给出了一段简单的C++程序. #include "stdafx.h" #include &l ...

  6. css和js带参数v或version

    1 <span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?versi ...

  7. json、xml

    json:(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然 ...

  8. 012 Android Palette颜色选择器的使用

    1.页面总体使用线性布局(LinearLayout) 2.将Toolbar(顶部菜单栏)拖入design模式下的设计界面中 3.颜色选择器需要在build.gradle中手动的添加 compile ' ...

  9. rest-assured的默认值与Specification重用

    一.默认值 rest-assured发起请求时,默认使用的host为localhost,端口为8080,如果你想使用不同的端口,你可以这样做: given().port(80)...... 或者是简单 ...

  10. notepad++配置编译运行java

    点击插件->Plugin Manager->show plugin manager : 选择NppExec,选择install,就将这个插件下载下来了. 这个时候会重启notepad++: ...