【学习笔记】实用类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 ...
随机推荐
- 【转】如何把CD上的音乐拷贝到电脑上
参考:https://www.ixueshu.com/document/9c44893da6e90cf7318947a18e7f9386.html 参考:https://jingyan.baidu.c ...
- CI框架部署后访问出现404
昨天新配置了一个PHP集成开发环境,安装完后,把项目放到Apache服务器的www目录下,发现只能打开首页,其他页面全部无法打开,当时比较纳闷,以为是服务器没有配置好,测试了一下,发现环境配置没有问题 ...
- vs2017启动iis局域网无法访问解决
1.找到IISExpress的配置文件,位于 <文档>/IISExpress/config文件夹下,打开applicationhost.config,找到如下代码: <site na ...
- Github 三种克隆模式
1.我称为平常模式,用于项目的本地克隆使用.(无权限.无加密.ssh protocol) git clone http://github.com/username/exampleproject 2.我 ...
- maven项目运行找不到类的错误
Maven项目 eclipse工具 错误: [INFO] -------------------------------------------------------------[ERROR] CO ...
- php常用的系统函数大全
字符串函数 strlen:获取字符串长度,字节长度 substr_count 某字符串出现的次数 substr:字符串截取,获取字符串(按照字节进行截取) mb_strlenmb_substr str ...
- ajax返回数据成功 却进入error方法
应该是dataType的原因,dataType为json,但是返回的data不是json格式 于是将dataType:"json"去掉就ok了
- Ubuntu Server 中实际内存与物理内存不相等的问题
记录 来源 v2ex,提到了一个平时不是很起眼的问题,Ubuntu Server 中系统默认会占用 128M 内存,用于 CVM 内部的 kdump 服务. 科普 查看 CVM 所拥有的物理内存 通过 ...
- Olesya and Rodion (思维)
Olesya loves numbers consisting of n digits, and Rodion only likes numbers that are divisible by t. ...
- python数据结构与算法之list
1. 数据结构的操作 作为一种包含元素的数据结构,需要提供一些“标准”操作: 创建和销毁 判断是否空,如果容量有限,还需判断是否满 向结构中加入元素或从中删除 访问结构里的元素 不同的编程语言可能影响 ...