一、String的基本概念
概念:String类位于java.lang包中,具有丰富的方法,是最常用的类之一
例如:
使用String储存字符串
String s = "Hello World"; String s = new String(); String s = new String("Hello World");
二、String的基本使用
方法一:字符串长度
//注册用户,要求密码不能小于6位数
import java.util.Scanner; public class Work { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String name,mm; System.out.println("请输入你的用户名:"); String name = sc.next(); System.out.println("请输入你的密码:"); String mm = sc.next(); if(mm.length()>=6) { System.out.println("恭喜您,注册成功"); }else { System.out.println("密码长度不能小于6:"); } } }
分析:
1、字符串长度
2、调用length()方法获得
3、返回字符串中的字符数
方法二:字符串的比较
//登录后,实现登录验证
import java.util.Scanner; public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入你的用户名:"); String name = sc.next(); System.out.println("请输入你的密码:"); String mm = sc.next(); if(name.equals("QWE")&&mm.equals("1234567890")) { System.out.println("恭喜您,登录成功"); }else { System.out.println("用户名或者密码错误:"); } }
问题:登陆时不考虑用户名大小写的问题,实现登录!!!
分析:
1、使用equalslgnoreCase()方法
2、使用toLowerCase()方法
3、使用toUpperCase方法
方法三:字符串连接
使用"+"或者使用String类的concat()方法
String s = new String("你好,"); String name = new String("张三!");
//B字符串将被连接到A字符串的后面
String sentence = s.concat(name); System.out.println(sentece);
输出结果:你好,张三!
方法四:
1、字符串常用提取方法,判断是否正确、是否存在
2、字符串截取方法
3、检查Java文件名
4、字符串拆分
1、//返回指定字符在字符串中第一次出现的索引位置
System.out.println(s1.indexOf("复"));
//返回指定字符在字符串中最后一次出现的索引位置
System.out.println(s1.lastIndexOf("这"));
2、//字符串截取方法
s1 = "|张三|,|是|,|李四|";
//从指定位置开始截取到最后返回截取后的字符串
s3 = s1.substring(3); System.out.println(s3);
//从指定位置开始截取到指定位置结束,不截取结束位置的字符串
s3 = s1.substring(3,5); System.out.println(s3);
3、//检查Java文件名:
int index = fileName.lastIndexOf(","); if(index!=-1&&index!=0&&fileName.substring(index+1,fileName.length()).equals("java")){ fileCorrect = true; }else{ System.out.println("文件名无效:") }
4、//字符串拆分
//根据给定的规则对字符串进行拆分
s1 = "|赵六|,|是|,|千子哥|"; String [] ss = s1.split(","); System.out.println(ss.length);
//遍历数组
for (int i = 0; i < ss.length; i++) { System.out.println(ss[i]); }
三、StringBuffer的基本使用
StringBuffer是使用缓冲区的,也是操作字符串的。与String类不同的是String内容一旦声明之后不可改变,改变的只是其存地址的指向,而StringBuffer中的内容是可以改变的
public class Test1 { public static void main(String[] args) { StringBuffer sb = new StringBuffer("123456789"); String s = "1234567890-"; System.out.println(sb); sb.append("今天很开心"); System.out.println(sb); } }
1、字符串的连接操作:(append)
2、在任意位置处为StringBuffer添加内容,可以直接用insert()方法添加内容
3、字符串反转操作,直接使用reverse()方法就可以完成反转的功能
4、替换指定范围的内容:StringBuffer类中也存在replace()方法
5、字符串的截取:通过substring()方法直接从StringBuffer()中指定范围的内容
6、删除指定位置的字符串:可以通过delete()方法删除指定范围的内容
四、StringBuilder的基本使用
1、StringBuilder是一个可变的字符序列
2、建议优先采用该类,因为该类大多数实现中比StringBuffer要快
3、StringBuilder实例用于多线程是不安全的。如果需要这样的同步,建议使用StringBuffer
StringBuilder sbb = new StringBuilder("123");