当前位置: 首页 > news >正文

JavaSE核心知识点01基础语法01-05(字符串)

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

  • 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

    • JavaSE核心知识点01基础语法01-05(字符串)
      • **一、创建字符串**
      • **二、基本操作**
      • **三、比较字符串**
      • **四、不可变性与高效操作**
      • **五、格式化字符串**
      • **六、其他常用方法**
      • **七、注意事项**


📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

Java中的字符串(String)是表示文本数据的一种对象类型,属于java.lang.String类。字符串是不可变的(Immutable),即创建后内容无法修改,所有修改操作都会生成新对象。以下是Java字符串的详细使用指南:


JavaSE核心知识点01基础语法01-05(字符串)

一、创建字符串

  1. 直接赋值(推荐,利用字符串常量池):

    String s1 = "Hello World";  // 从常量池引用
    
  2. 使用new关键字(每次创建新对象):

    String s2 = new String("Hello World");  // 新对象,不复用常量池
    

二、基本操作

  1. 字符串连接

    String s = "Java";
    s = s + " Programming";      // "+" 操作符
    s = s.concat("!");           // concat()方法
    
  2. 获取长度

    int len = s.length();        // 返回字符串长度
    
  3. 大小写转换

    String upper = s.toUpperCase();  // 转大写
    String lower = s.toLowerCase();  // 转小写
    
  4. 截取子串

    String sub1 = s.substring(5);     // 从索引5到末尾
    String sub2 = s.substring(0, 4);  // 索引0到3(左闭右开)
    

三、比较字符串

  • 内容相等:使用equals()而非==

    boolean isEqual = s1.equals(s2);          // 区分大小写
    boolean isEqualIgnoreCase = s1.equalsIgnoreCase(s2);  // 不区分大小写
    
  • 字典顺序compareTo()

    int result = s1.compareTo(s2);  // 返回正数、0或负数
    

四、不可变性与高效操作

  • 问题:频繁拼接字符串(如循环中使用+)会生成大量中间对象,影响性能。
  • 解决方案:使用StringBuilder(非线程安全)或StringBuffer(线程安全):
    StringBuilder sb = new StringBuilder();
    sb.append("Hello").append(" World");
    String result = sb.toString();  // 最终转换为String
    

五、格式化字符串

String name = "Alice";
int age = 25;
String formatted = String.format("Name: %s, Age: %d", name, age);  // 格式化为字符串
System.out.printf("Info: %s\n", formatted);  // 直接输出格式化内容

六、其他常用方法

  1. 分割字符串

    String[] parts = "a,b,c".split(",");  // 按逗号分割为数组
    
  2. 去除首尾空格

    String trimmed = "  text  ".trim();  // 移除首尾空白字符
    
  3. 替换内容

    String replaced = "Hello".replace('l', 'w');  // 替换字符,结果为"Hewwo"
    
  4. 查找内容

    boolean hasJava = s.contains("Java");   // 是否包含子串
    int index = s.indexOf("Java");          // 首次出现的位置
    

七、注意事项

  1. 不可变性:每次修改字符串都会生成新对象,原对象不变。
  2. 比较陷阱:用==比较的是对象地址,非内容,必须使用equals()
  3. 性能优化:大量拼接时优先选StringBuilder
  4. 字符串池:直接赋值的字符串会被复用,减少内存开销。

通过掌握这些基础操作和注意事项,您已经能够高效处理Java字符串!


📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

相关文章:

  • 【信息系统项目管理师】【2017年-2024年】58个案例概念题
  • CODESYS开发环境下的快捷键和软件操作汇总
  • 使用Java NIO 实现一个socket通信框架
  • LangChain第二讲:不设置环境变量也能调用LLM大模型吗?(更简单地调用LLM)
  • 【C++】【数据结构】【API列表】标准库数据结构
  • DDPM(Denoising Diffusion Probabilistic Models,去噪扩散概率模型)
  • ✍️【TS类型体操进阶】挑战类型极限,成为类型魔法师!♂️✨
  • 如何理解参照权
  • Redis相关命令详解与原理
  • CSS手动布局
  • 【IP101】图像分割技术全解析:从传统算法到深度学习的进阶之路
  • leetcode刷题日记——反转链表
  • 【赵渝强老师】TiDB的备份恢复策略
  • 关于大疆红外图片提取温度方法 python 方法
  • Python初学者笔记第十一期 -- (字符串编程练习题)
  • 软开错题(二)
  • 【每日刷题】第2天
  • C++ 完美转发
  • qwen2.5vl
  • python爬虫爬取网站图片出现403解决方法【仅供学习使用】
  • 工行回应两售出金条发现疑似杂质:情况不属实,疑似杂质应为金条售出后的外部附着物
  • 讲座预告|全球贸易不确定情况下企业创新生态构建
  • 习近平同瑞典国王卡尔十六世·古斯塔夫就中瑞建交75周年互致贺电
  • 纪念|古文字学泰斗裘锡圭:“还有很多事情要做”
  • 上海推动AI+文旅深度融合,MaaS平台和产业基地落地徐汇
  • 公示!17个新职业、42个新工种亮相