一、字符串String字符串的内容是不可变的它的对象在创建后不能被更改1. 创建字符串①直接赋值②new关键字package Test_API; public class Test { public static void main(String[] args) { //1.直接赋值 String sabc; System.out.println(s); //2.new 构造方式去创建字符串对象 String s1new String(); System.out.println(s1); //3. new 有参构造 String s2new String(abcd); System.out.println(s2); //4. new 有参构造字符串数组 char[] chs {a,b,c}; String s3new String(chs); System.out.println(s3); //5.new 有参构造 字节数组 byte[] bytes{97,98,101}; String s4new String(bytes); System.out.println(s4); } }两种方式区别直接赋值代码简单直接复用串池的数据节省内存new每次都会创建一个新的的字符串对象2. 字符串比较boolean equals方法要比较的字符串 完全一样结果才是true否则为falseboolean equalsIgnoreCase(要比较的字符串) 忽略大小写的比较案例已知正确的用户名和密码请用程序实现模拟用户登录总共给三次机会登录之后给出相应的提示package API_Test; import java.util.Scanner; public class test { public static void main(String[] args){ //1.已知正确的用户名和密码 String rightUsernamezhangsan; String rightPassword1234; //2.让用户录入登录的用户名和密码 Scanner sc new Scanner(System.in); //3.比较 for(int i1;i3;i){ System.out.println(请输入用户名); String usernamesc.next(); System.out.println(请输入密码); String passwordsc.next(); boolean resultusername.equals(rightUsername) password.equals(rightPassword); if(result true){ System.out.println(登录成功); break; }else{ if(i2){ System.out.println(登录失败还剩(3-i)次机会); }else{ System.out.println(登录失败锁定); } } } } }3.遍历字符串根据索引返回字符字符串对象.charAt(int index)数组的长度数组名.length字符串的长度字符串对象.length()package API_Test; import java.util.Scanner; public class test1 { public static void main(String[] args){ Scanner scnew Scanner(System.in); System.out.println(请输入一个字符串:); String ssc.next(); for(int i0;is.length();i){ System.out.println(s.charAt(i)); } } }4. 字符串的截取截取到指定范围 字符串对象.substringint beginIndex , int endIndex截取到末尾 字符串对象.substring (int beginIndex)5. 字符串替换字符串对象.replace(旧值新值)6.判断字符串是否包含另一个字符串str1是否包含str2 boolean restr1.contains(str2)str1从1索引开始是否包含str2 boolean restr1.startsWith(str2,1);7.字符串查找查找当前字符串第一次出现ch的位置 int indexstr.indexOf(int ch) //参数为ch的ASCLII码查找当前字符串最后一次出现ch的位置 int indexstr.lastIndexOf(int ch)如果查找不存在返回-18.判断是否为空boolean empty str.isEmpty( )9.字符串转换把字符串转为字符数组 char[ ] array str.tocharArry() //abcd —— [a , b ,c , d]数组变为数字符串 String resArrayUtil.arrayToString(arr)大小写转换 String upperCase str.toUpperCase() str.toLowerCase()10. StringBuilderStringBuilder是字符串的一个工具类可以让我们拼接字符串的时候效率更高public StringBuilder() 创建StringBuilder容器不含有任何内容public StringBuilder(String str) 创建StringBuilder容器包含指定的内容public static void main(String[] args){ StringBuilder snew StringBuilder();//创建StringBuilder的对象容器空参构造 StringBuilder s1new StringBuilder(abc);//创建StringBuilder的对象容器带参构造 System.out.println(s1); s1.append(d);//添加 s1.reverse(); //反转 System.out.println(s1); }StringBuilder append任意类型 添加数据StringBuilder reverse() 反转容器中的内容int length() 返回长度字符的个数String toString() 转回String字符串对象11. ArrayList集合如果没有进行限定集合里面可以存储任意数据类型的数据ArrayList list new ArrayList(); //创建一个长度为0的ArrayList集合泛型限定集合当中的数据类型 数据类型ArrayListString list1new ArrayListString();集合增删改查//添加数据 list1.add(aaa); list1.add(0,bb); list1.add(ccc); //删除元素 list1.remove(aaa); String reslist1.remove(1); //res为被删除的元素 //修改元素 String rlist1.set(0,zzz); //获取元素 for(int i0;ilist1.size();i){ //依次获取集合中的每一个元素 System.out.println(list1.get(i)); }