Java — 字符串

news/2024/4/26 20:37:51/文章来源:https://blog.csdn.net/m0_60610120/article/details/128105883

字符串概要

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
  • 主要用途是将字符串以定界符为界,分析为一个个独立的词组
  • 定界符可以自己指定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_38919.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring项目中的Controller理解】

目录 1. 添加依赖 2. 关于异常 1. 添加依赖 首先,需要保障此项目中存在spring-boot-starter-web依赖项,否则,当前项目并不具备Web应用程序开发所需的依赖! 提示:spring-boot-starter-web是建立在spring-boot-starte…

APS智能排产系统的优势

APS智能排产系统是通过同步考虑多种有限能力资源的约束,依据各种预设规则,针对解决:客户订单交期评估与答复、人工排产效率低、设备资源利用率低、物料计划与生产计划脱节、生产计划执行率低、库存积压与生产缺料等相关问题,依靠严…

安科瑞智能余压监控系统余压控制器ARPM-C 监控余压值/接收报警信息

1、概述 ARPM-C型余压控制器,可监控所连接余压探测器的余压值,接收余压探测器的报警信息,并向余压监控器反馈现场工作状态,当余压过高报警时联动风阀执行器调节泄压阀,能够持续调节泄压阀的开启角度。 2、产品型号 …

5G无线技术基础自学系列 | MIMO功能

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 无线通信的迅速发展对系统的容量和频谱…

Linux学习笔记(二)

命令 目录中找文件:find压缩tar:tar -cvf xxx.tar 文件解压缩tar:tar -xvf xxx.tar解压缩.gz文件:tar -zxvf xxx.tar.gz压缩.bz2文件:tar -jcvf xxx.tar.bz2解压到指定目录:tar -C 指定目录压缩zip&#xf…

Ensp用windows回环口连接cloud配置

Ensp模拟通过本机(windows)用python脚本批量配置华为数通设备时,为了避免对内网资源的浪费最好用回环口(loopback)。 一、windows开启loopback虚拟接口 概要: right click on window start menu icon an…

进阶自动化测试,你一定要知道的...

自动化测试指软件测试的自动化,在预设状态下运行应用程序或系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 自动化测试框架一般可以分为两个层次,上层是管理整个自动化测试的开发&a…

nodejs+vue音乐网站与分享平台

目 录 摘 要 I 1 绪论 1 1.1研究背景 1 1.2研究现状 1 1.3研究内容 2 2 系统关键技术 3 2.1 Spring Boot框架 3 2.2 JAVA技术 3 2.3 MYSQL数据库 4 2.4 B/S结构 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2经济可行性…

SpringBoot+html+vue模板开发

除了对某个表基本的增删改查以外&#xff0c;可能需要额外的增加操作&#xff0c;这里是通过按钮来实现的 1、新增一个测试按钮 <el-button type"primary" class"butT" click"test()">测试</el-button> 2、这个按钮绑定一个方法t…

线代 | 【提神醒脑】自用笔记串联三 —— 相似对角化 · 二次型 · 合同变换

本文总结参考于 kira 2023 线代提神醒脑技巧班。 笔记均为自用整理。加油!ヾ(◍∇◍)ノ゙ 九、相似对角化 9.1、矩阵相似的性质 ----------------------------------------------------------------------------------------------------------…

R语言基于决策树的银行信贷风险预警模型

引言 我国经济高速发展&#xff0c;个人信贷业务也随着快速发展&#xff0c;而个人信贷业务对提高内需&#xff0c;促进消费也有拉动作用。有正必有反&#xff0c;在个人信贷业务规模不断扩大的同时&#xff0c;信贷的违约等风险问题也日益突出&#xff0c;一定程度上制约着我…

运维行业数字化维修数据屏来袭

说起维修数字化&#xff0c;售后维保管理&#xff0c;大家必然想到青鸟云报修&#xff0c;今天我给大家呈现一下青鸟云报修数据大屏是怎么一回事。 这是青鸟云报修第三代数据大屏&#xff0c;在2代基础上增加了更多板块&#xff0c;更加专业和智能化&#xff0c;他主要应用于单…

传奇战盟GOM引擎登录器配置教程

战盟GOM引擎配置器教程&#xff0c;先到战盟官方网站下载登录器配置器&#xff0c;下载好后按下面说明使用。战盟GOM登录器教程大分类目录引导说明 一、解压配置器文件包后&#xff0c;打开KEY文件夹然后选择KEY 二、复制你选择好的 Key.Lic 复制到 战盟GOM配置器 相同路径文件…

AI强势入场,成就史上最快足球

众所周知&#xff0c;卡塔尔是全球最富裕的国度之一&#xff0c;是世界第一大液化天然气生成和出口国。丰富的石油资源&#xff0c;几乎让每一名原住民从出生之日起就实现财务自由&#xff0c;人均GDP高达6万多美元&#xff0c;钞能力毋庸置疑。 2022年世界杯正是在这片富饶的土…

mac上的python2安装

iiPython Release Python 2.7.18rc1 | Python.orgThe official home of the Python Programming Languagehttps://www.python.org/downloads/release/python-2718rc1/不小心把mac上的python2给删除了&#xff0c;发现老的nodejs项目需要pytho2&#xff0c;这下晕了&#xff0c;…

xss-labs/level12

这一关首先尝试以下 <script>alert(xss)</script> 不废话 直接看源代码 很明显发现第一个输出点被转义了 根本无法通过script标签来完成弹窗 然后依然是四个隐藏表单 我们可以先试一试在不用抓包工具的前提下 我们能不能将某个隐藏表单给显示出来 构造如下 &l…

基于深度学习的合成孔径雷达自聚焦

文章目录引言什么是合成孔径雷达什么是自聚焦经典自聚焦方法基于机器学习的方法基于极速学习机的方法基于深度学习的SAR自聚焦代码附录引言 本文全面介绍合成孔径雷达自聚焦概念和方法。想获取更为详尽的描述&#xff0c;请参考以下几篇论文, 如果数据或代码对你的研究有用&am…

R在GIS中用ggmap地理空间数据分析

概要 做过O2O&#xff08;Online To Offline,在线离线/线上到线下&#xff09;的小伙伴知道&#xff0c;GIS数据需要具体到精准的位置(即经纬度)&#xff1b;对于连锁门店&#xff0c;使用GIS和其它的数据密集型服务遵循一个简单的逻辑&#xff1a;数据有助于企业节省开支&…

论文指标评价体系及权重计算

一 、评价指标体系 评价指标体系构建在实际研究中使用较为广泛&#xff0c;比如企业绩效评价指标体系构建、政府财政支出绩效评价、医院绩效评价研究等等。 ‍1、相关背景 在中国知网搜索 “ 评价指标 ”、“ 指标体系权重 ” 等相关关键词&#xff0c;可以发现&#xff0c;…

遇到Bug漏测,不能总想着甩锅吧

背景 漏测Bug是指产品逻辑缺陷在测试过程中没有被发现&#xff08;尤其是测试环境可以重现的缺陷&#xff09;&#xff0c;上线版本发布后或者在用户使用体验后发现并反馈回来的缺陷。 漏测Bug可能造成线上故障或者资损&#xff0c;在对产品测试过程中&#xff0c;自己也难免…