【学习笔记】实用类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 ...
随机推荐
- 使用jmeter做简单的场景设计
使用jmeter做简单的场景设计 Jmeter: Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试.我之所以选择它,最重要的一点就是----开源 个人 ...
- VS2019和net core 3.0(整理不全,但是孰能生巧)
更新 net core 3.0 只能配合vs2019 net core 3.0 新特性 详情 IntelliCode 智能插件 live share ctrl+. 快速重构 调试中的数据断点(很棒) ...
- python期中总结
1.tuple 元组 与列表类似 tup1 = (12, 34.56) tup2 = ('abc', 'xyz') # 以下修改元组元素操作是非法的. # tup1[0] = 100 # 创建一个新的 ...
- C++_标准模板库STL概念介绍5-其他库与总结
C++还提供了其他一些类库,这些类库更加专用. 例如,头文件complex为复数提供了类模板complex,包含用于float.long和long double的具体化. 这个类提供了标准的复数运算以 ...
- HDU_2082 找单词 【母函数的应用】
题目: 假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于给定的字母,可以找到多少价值<=50 ...
- 下载 生成 requirements
生成你项目的所有 组件,模块 pip3 freeze > requirements.txt 下载requirements.txt 里的所有 模块 pip3 install -r requirem ...
- Python-删除列表中重复元素的方法
1.set()方法 x = [1,2,3,4,5,1] y = list(set(x)) print(y) ``` [1, 2, 3, 4, 5] ``` 2. x = ['b','c','d','b ...
- HDU - 4825 01字典树套路题
/*H E A D*/ struct Trie{ int son[maxn<<2][2]; int b[67],tot; void init(){ // memset(son,0,size ...
- ansys14.0 从入门到精通
凌桂龙 李战分 2013.2 清华大学 FLUENT流体计算应用教程 索书号:TB126-39 ZW2.1 单元 结点 和 自由度 载荷 与 边界条件 : 关系 就是约束 , 边界条件是 结构 ...
- Scala 中 for 循环 和 generator 的使用例子
这个例子是,从每个list中,找到age最大的那个node. class Node(vName: String, vAge: Int) { // Entity class var name: Stri ...