1.String类空间概述( 三 )


4.案例
package java_se.java_jinjie.neibulei.demo06;public class Demo2 {public static void main(String[] args) {String str = "this is a text";//1.将里面单词单独获取出来String[] arr = str.split(" ");for (String s : arr) {System.out.println(s);}System.out.println("=============");//2.将Str的text替换为practiceString str2=str.replace("text","practice");System.out.println(str2);//3.在text前面插入easyString str3=str.replace("text","easy text");System.out.println(str3);//4.将每个单词的首字母改为大写System.out.println("===============");for (int i = 0; i < arr.length; i++) {//获取数组的单词的下标为0的字符起名firstchar first = arr[i].charAt(0);//把第一个字符转成大写起名为upperfirstchar upperfirst=Character.toUpperCase(first);//遍历下标为0的字符+从下标1开始到最后一个下标位置的内容substring(1)从下标一到下标最后的内容 substring(1,5)从下标1到下标5的内容String news=upperfirst+arr[i].substring(1);System.out.println(news);//This换行Is换行A换行Text}}}
1.模拟用户登陆
package java_se.java_jinjie.zuoye8_11;import java.util.Scanner;public class StringTest3 {public static void main(String[] args) {/*模拟用户登录功能,最多只给三次机会 。*///先定义账户String userName = "junhua";String passWord = "123456";//循环三次完成判断三次for(int x = 0; x<3;x++){Scanner sc = new Scanner(System.in);System.out.print("输入账号:");String name = sc.nextLine();Scanner sc1 = new Scanner(System.in);System.out.print("请输入密码:");String pwd = sc1.nextLine();//比较账号密码if (name.equals(userName)){if (pwd.equals(passWord)){System.out.println("登录成功");break;//退出循环}else{//如果错误重新输入 减去循环次数为剩余次数System.out.println("密码错误,你还有"+(2-x)+"机会");}}else{//如果错误重新输入 减去循环次数为剩余次数System.out.println("登录失败,你还有"+(2-x)+"机会");}}}}
2.手机号码屏蔽
package java_se.java_jinjie.zuoye8_11;public class Test1 {public static void main(String[] args) {/*键盘录入一个手机号,将中间四位号码屏蔽*/String a="12345678910";StringBuilder a1 = new StringBuilder();a1.append("12345678910");//替换从下标3到下标7之间的电话号码替换为****System.out.println(a1.replace(3,7,"****"));//获取从下标0到下标3之前的值+上****然后+下标7到下标11的值;System.out.println(a.substring(0,3)+"****"+a.substring(7,11));}}
5.可变字符串
和的区别:
(1)效率比快、(2)比节省内存、(3)可变性
和的区别:
: 可变长字符串,运行效率慢、线程安全,适用于多线程
: 可变长字符串、运行快、线程不安全,适用于单线程效率:>>
和里的用法:
1.(); 追加
2.(); 添加、插入
3.(); 替换
4.(); 删除;清空
5.();反转数组
6.();把转换为
7.();返回内容长度
名称说明
()
创建一个空白的可变的字符串对象,不包含任何内容
( str)
创建一个指定字符串内容的可变字符串对象
1.用法
package java_se.java_jinjie.neibulei.demo06;public class Demo03 {public static void main(String[] args) {//StringBuffer sb = new StringBuffer();StringBuilder sb = new StringBuilder();//StringBuilder和StringBuffer的内容完全一样//1.append();追加sb.append("java世界第一");System.out.println(sb.toString());//java世界第一sb.append("java真香");System.out.println(sb.toString());//java世界第一java真香sb.append("java不错");System.out.println(sb.toString());//java世界第一java真香java不错//2.insert(x,"sdsadas");添加 x为下标 sdsadas为内容sb.insert(0,"我在最前面");System.out.println(sb.toString());//我在最前面java世界第一java真香java不错//3.replace(x,x,"sss");sb.replace(0,5,"hello");//替换从下标第0个到下标第5个之前的字符(包含头不包含尾部),修改为hello,如果为(0.5,"he")替换从下标第0个到第5个之前的字符为he 输出为hejava....System.out.println(sb.toString());//hellojava世界第一java真香java不错//4.delete();sb.delete(0,5);//删除从下标第0个到下标第5个之前的字符(包含头不包含尾部)System.out.println(sb.toString());//java世界第一java真香java不错//清空sb.delete(0,sb.length());//从下标0到字符串总长度全部删除System.out.println(sb.toString());//因为全删了所以没有显示输出但是println换行了System.out.println(sb.length());//0 输出sb字符串的长度StringBuilder sb2 = new StringBuilder();sb2.append("java是全世界最好的语言");//追加内容//5.反转字符串输出System.out.println(sb2.reverse());//言语的好最界世全是avaj}}