【学习笔记】实用类String的基本应用即常用方法
一、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的基本应用即常用方法的更多相关文章
- JavaScript学习笔记之string
字符串定义: 1,var myString=“内容”:or var myString=‘内容’ 2,var myString= new String(“内容”) ---〉创建对象, ...
- HTML 学习笔记 JavaScript (String)
String对象用于存储字符串的数据.这里我们做了JavaScript的String字符串对象常用操作总结. 创建String对象的方式 声明:String 对象的方法也可以在所有基本字符串值中访问到 ...
- Thinking in java学习笔记之String的不可变性
为了提高效率,可以使用StringBuffer或StringBuilder 1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与 ...
- Java学习笔记 02 String类、StringBuilder类、字符串格式化和正则表达式
一.String类一般字符串 声明字符串 >>String str 创建字符串 >>String(char a[])方法用于将一个字符数组创建为String对象 >> ...
- Redis学习笔记(2)-String
package cn.com; import java.util.List; import redis.clients.jedis.Jedis; public class Redis_String { ...
- java学习笔记之String类
String类总结 String类概述: java.lang.String 类是字符串操作类 String类的常用构造方法: //1.直接赋值 String str= "hellojava& ...
- Java学习笔记之——String和Arrays常用方法
一.String常用方法 1.subString(int beginIndex,int endIndex) 截取字符串 从beginIndex开始截取,截取endIndex-beginIndex的长度 ...
- 【学习笔记】String进阶:StringBuffer类(线程安全)和StringBuilder类
一.除了使用String类存储字符串之外,还可以使用StringBuffer类存储字符串.而且它是比String类更高效的存储字符串的一种引用数据类型. 优点: 对字符串进行连接操作时,使用Strin ...
- 3.2常用类(java学习笔记)String与StringBuffer
一.String String又称不可变字符序列. 我们看JDK源码中用于字符存储的数组有final修饰,final修饰变量就代表变量不能改变. 我们可以看API文档中对String的描述. Stri ...
随机推荐
- CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境【转载】
本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.h ...
- Linux里的用户管理
在linux中系统中,它并不认识帐号名称.它认识的是我们的帐号ID,帐号ID保存在/etc/passwd文件中.我们在登录linux主机时,在输入完帐号和密码时,linux会先查找/etc/passw ...
- postgress数据库 出现大写字母 字段名但是提示说不存在
select BSK001 from dbdata 报错: column "bsk001" of relation "dbdata" does not exis ...
- 关于在VS 2013 Reshaper 中不能使用Alt+Enter 的解决
新装Vs 2013 ,感觉还是不错,但是很恶心的是居然,Resharper 万能的快捷键不能用,让洒家真是恶心极了. 通过Google 在StackOverflow 上发现了解决方法,但好像看他的 ...
- 谈谈easyui datagrid 的数据加载
文章目录 1url方式加载数据 1.1调用方式 1.2相关方法 1.3二次加载问题 2加载本地数据方式 2.1调用方式 2.2如何分页 2.3加载中效果 2.4如何不统计总数 这篇文章只谈jQuery ...
- python get() 和getattr()
get() Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法: dict.get(key, default=None) 实例1: d={'A':1,'b':2} ...
- flask总结01
一:Flask的基本介绍和小案例 01:flask的基本介绍 Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开 ...
- 【原创】SpringMVC同一RequestMapping返回不同的类型
曾经在工作中遇到过导出文件时,需要根据不同情况返回不同的数据的情况. 例如: 如果没有数据,弹框提示"没有数据" 导出报错,弹框提示"系统错误" 正常情况下,下 ...
- codeforces 1101F Trucks and Cities 区间dp+单调优化 好题
题目传送门 题意简述:(来自洛谷) 有n个城市坐落在一条数轴上,第ii个城市位于位置ai. 城市之间有m辆卡车穿行.每辆卡车有四个参数:si为起点编号,fi为终点编号,ci表示每行驶1个单位长 ...
- Spring 操作 jdbc 链接数据库
1. 新建资源文件 db.properities jdbc.user=root jdbc.password=root jdbc.driverClass=com.mysql.jdbc.Driver jd ...