Java — 字符串
admin
2024-03-01 23:18:40
0

字符串概要

1.基本介绍
  • 定义:多个字符组成的序列称为字符串
  • 字符串常量:用双引号""引起来的字符序列
2.空串与空引用
  • 空串:无任何字符的字符串,即双引号之间无任何字符

  • 空引用:字符串队形指向null

    String str = "";	//空串
    String str1 = null; //空引用
    String str2 = " ";  //含一个空格的串
    
3.字符串类

Java中讯在多种字符串相关类

  • 字符串常量类java.lang.String
  • 字符串变量类java.lang.StringBufferjava.lang.StringBuilder
  • 字符串分隔解析类java.util.StringTokenizer

String

1.基本介绍
  • String类是final修饰的,无法被继承

  • String是字符串常量类:可以指向新的对象但是对象本身的值不能改变

    String str3 = "abc";
    System.out.println(str3);//abc
    str3 = "def";
    System.out.println(str3);//def
    
  • 初始化:有直接赋值和应用构造方法两种

    //两种初始化方式的区别String str4 = "abc";
    String str5 = "abc";
    System.out.println(str4.equals(str5));//比较内容是否相等 true
    System.out.println(str4 == str5);	  //是否指向一个对象 true
    //字符串存储在常量区已有指向已有不在开辟新空间String str6 = new String("abc");
    String str7 = new String("abc");
    System.out.println(str6.equals(str7));//true
    System.out.println(str6 == str7);	  //false
    //用new永远都是新开辟内存空间
    
2.常用的字符串处理
  • 获取字符串长度:字符串.length()

    System.out.println(str.length()); 	 //空串:0
    // System.out.println(str1.length());//空引用异常
    System.out.println(str2.length());	 // 1
    
  • 字符串拼接:字符串1.concat(字符串2)

    System.out.println(str5.concat("def")); //abcdef
    System.out.println(str5 + "def");		//abcdef
    
  • 字符串查找

    • indexOf:返回第一次出现的下标值
    • lastIndexOf:返回最后一次出现的下标值
    • startWith:是否以某个字符串开头
    • charAt:查找相应索引对应的值
    String str8 = "abcbca";
    System.out.println(str8.indexOf("bc"));		// 1
    System.out.println(str8.lastIndexOf("bc")); // 3
    System.out.println(str8.startsWith("bc"));  //false
    System.out.println(str8.charAt(1));			// b
    
  • 字符串分割:字符串.split("以什么分割")

    String str9 = "吴小祖 彭小晏 周小伦";
    String[] infos = str9.split(" ");//以什么分割
    System.out.println("第一名:" + infos[0]);
    System.out.println("第二名:" + infos[1]);
    System.out.println("第三名:" + infos[2]);
    String str10 = "吴小祖:彭小晏 周小伦";
    String[] infos1 = str10.split(" |:");//如果不只一种分隔符用 |
    String str11 = "吴小祖|彭小晏|周小伦";
    String[] infos2 = str11.split("\\|");//如果分隔符是|需要转义
    
  • 字符串比较

    • equalsIgnoreCase:比较是否相等,不分大小写
    • compareTo:返回值为0是代表相等
    System.out.println(str12.equalsIgnoreCase(str13)); //true
    System.out.println(str12.compareTo(str13));
    
  • 字符串替换:字符串.replace(旧串, 新串)

    String str14 = "吴小祖 彭小晏 周小伦";
    System.out.println(str14.replace(' ', '|'));//吴小祖|彭小晏|周小伦
    
  • 求子串:字符串.substring(起始下标, 起始下标+截取长度)

    String str15 = "abcdefg";
    System.out.println(str15.substring(1, 5));//bcde
    

StringBuffer

1.基本介绍
  • 是一种字符串变量类型

  • 只能用构造方法创建对象

    StringBuffer strbuf = new StringBuffer("abc");
    
2.常用的方法
  • 字符串连接:append

    //传参:拼接字符串
    strbuf.append("def");
    System.out.println(strbuf);//直接将原字符串修改 abcdef
    
  • 字符串插入:insert

    //传参:插入位置,插入字符串
    strbuf.insert(1, "123");
    System.out.println(strbuf);//a123bcdef
    
  • 字符串删除:delete

    //传参:起始下标,其实下标+截取长度
    strbuf.delete(1, 4);
    System.out.println(strbuf);//abcdef
    
  • 字符串逆序:reserve

    strbuf.reverse();
    System.out.println(strbuf);//fedcba
    

StringBuilder类与StringTokenizer

1.StringBuilder
  • StringBuilder类与StringBuffer类的方法调用是一致的
  • 但是其属于非线程安全的
2.StringTokenizer
  • 主要用途是将字符串以定界符为界,分析为一个个独立的词组
  • 定界符可以自己指定

相关内容

热门资讯

《熊猫家园》:探寻国宝故土的生... 由中央广播电视总台、自然资源部、国家林业和草原局联合摄制的大型系列片《熊猫家园》,将于4月13日起在...
探寻草木奥秘,解锁自然智慧——... 为丰富社区小学生的课余生活,培养孩子们热爱自然、善于观察的良好习惯,近日,玄武生态环境局、玄武门街道...
依法加大对新型隐性腐败的惩治力... 来源:滚动播报 (来源:工人日报) 本报讯(记者卢越)4月10日,最高人民法院、最高人民检察院联合发...
【米尔斯海默:美国封锁霍尔木兹... 【米尔斯海默:美国封锁霍尔木兹海峡将适得其反】美国和伊朗在巴基斯坦首都伊斯兰堡的谈判无果而终。当地时...
A股逆势翻红,接下来怎么走? ... 4月13日,A股低开高走,显示出较强韧性。市场量能微缩,板块分化明显,体现出存量资金博弈的特征,但成...
传总经理王莉被查?茅台回应:到... 4月13日,有市场消息称,贵州茅台集团有限公司党委副书记、副董事长、总经理王莉被带走调查。此前,王莉...
油价会更高?特朗普最新表态释放... 在美伊谈判破裂、特朗普宣布将封锁霍尔木兹海峡后,国际油价应声暴涨。特朗普罕见承认油价可能持续高企,民...
闪评|匈牙利蒂萨党赢得国会选举... 匈牙利国家选举办公室当地时间13日凌晨公布的初步计票结果显示,由毛焦尔·彼得领导的蒂萨党在12日举行...
高管轮换不到一年!长安福特再现... 近日,长安汽车旗下两大合资公司迎来高管层面的调整。长安福特原执行副总裁王孝飞调任长安跨越董事长,其职...
安全成了游戏?FAA竟然让游戏... 【文/观察者网 王勇 编辑/赵乾坤】 美国机场关键设施岗位空中交通管制员短缺情况,一直以来都是美国...