首页 > 其他分享 >String学习总结

String学习总结

时间:2024-11-01 20:58:35浏览次数:3  
标签:总结 例如 String int str2 学习 str 字符串

  1. 定义与初始化
    • 字面量定义:可以直接使用双引号来定义一个字符串,例如String str = "Hello";。这种方式创建的字符串对象存储在字符串常量池中。如果多个字符串字面量相同,它们会指向字符串常量池中的同一个对象,以节省内存。
    • 使用new关键字定义:也可以通过new关键字来创建字符串对象,如String str2 = new String("World");。这种方式会在堆内存中创建一个新的字符串对象,即使字符串内容与常量池中已有的相同。
  2. 不可变性
    • 含义:String对象一旦被创建,它的值就不能被改变。例如,当对一个已有字符串进行操作(如拼接、替换等)时,实际上是创建了一个新的字符串对象。
    • 示例
      String str = "abc";
      str = str + "def";
      // 这里并不是修改了原来的"abc"对象,而是创建了一个新的字符串对象"abcdef"
      
  3. 常用方法
    • 获取长度:使用length()方法可以获取字符串的长度,例如String str = "Java"; int len = str.length();,这里len的值为4。
    • 字符获取与遍历
      • 可以使用charAt(int index)方法获取指定索引位置的字符。例如String str = "Hello"; char c = str.charAt(1);,这里c的值为'e'。
      • 也可以使用循环来遍历字符串中的字符,如:
        String str = "World";
        for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            System.out.println(ch);
        }
        
    • 字符串拼接
      • 使用+运算符可以拼接字符串,例如String str1 = "Hello"; String str2 = "World"; String result = str1 + " " + str2;,这里result的值为"Hello World"
      • 还可以使用concat()方法进行拼接,如String str3 = "Java"; String str4 = str3.concat(" is great");str4的值为"Java is great"
    • 字符串比较
      • equals()方法用于比较两个字符串的内容是否相同。例如String str1 = "abc"; String str2 = "abc"; boolean isEqual = str1.equals(str2);,这里isEqual的值为true。需要注意的是,==运算符比较的是两个对象的引用是否相同,对于字符串字面量,如果它们在常量池中相同,则==也可能返回true,但对于通过new创建的字符串对象,即使内容相同,==通常也会返回false
      • equalsIgnoreCase()方法用于忽略大小写比较字符串内容,例如String str3 = "ABC"; String str4 = "abc"; boolean isEqualIgnoreCase = str3.equalsIgnoreCase(str4);,这里isEqualIgnoreCase的值为true
    • 子串提取
      • 使用substring(int beginIndex)方法可以从指定索引位置开始提取子串,直到字符串末尾。例如String str = "Java is cool"; String subStr1 = str.substring(5);subStr1的值为"is cool"
      • substring(int beginIndex, int endIndex)方法可以提取从beginIndex(包含)到endIndex(不包含)之间的子串。例如String subStr2 = str.substring(0, 4);subStr2的值为"Java"
    • 字符串替换
      • replace(char oldChar, char newChar)方法可以将字符串中的指定字符替换为新的字符。例如String str = "apple"; String newStr = str.replace('p', 'x');newStr的值为"axxle"
      • replaceAll(String regex, String replacement)方法可以使用正则表达式来替换字符串中的内容。例如String str2 = "abc123def"; String newStr2 = str2.replaceAll("\\d", "X");newStr2的值为"abcXXXdef"
    • 字符串分割
      • 使用split(String regex)方法可以根据指定的正则表达式来分割字符串。例如String str = "a,b,c"; String[] parts = str.split(",");,这里parts数组包含{"a", "b", "c"}三个元素。
  4. 字符串与其他数据类型的转换
    • 转换为其他数据类型

      • 转换为整数:可以使用Integer.parseInt(String s)方法将字符串转换为整数,例如String numStr = "123"; int num = Integer.parseInt(numStr);。需要注意的是,如果字符串内容不是合法的整数格式,会抛出NumberFormatException异常。
      • 转换为浮点数:类似地,Double.parseDouble(String s)方法可以将字符串转换为双精度浮点数。
    • 其他数据类型转换为字符串

      • 基本数据类型可以通过String.valueOf()方法转换为字符串,例如int i = 10; String str = String.valueOf(i);。对于对象,调用toString()方法(如果没有重写toString()方法,则会返回对象的默认字符串表示形式)也可以将其转换为字符串。例如Object obj = new Object(); String objStr = obj.toString();

标签:总结,例如,String,int,str2,学习,str,字符串
From: https://www.cnblogs.com/zyh-828/p/18521265

相关文章

  • 哈希算法(闭散列) - 线性探测 / 二次探测(缺支持string数据插入)
    一.哈希初步1.哈希的思想哈希算法的思想是将要存储的顺序按照一定规律进行存储,查询时也依据此规律进行查询相对于string字符串,会选择开辟一个大小为26的数组,将字母(仅小写)按照Ascall码表进行映射,统计其出现的次数相对于没有规律的数据而言,常采用取模的方法(%数组大小),......
  • 深信服学习笔记-Day0.5
    01信息收集之DNS信息查询综合实验whois查询站长之家查询利用nslookup工具进行域名查询(windows中的命令提示符中进行操作,kali终端中使用dig进行查询使用DNS子域名爆破工具,针对子域名进行爆破,同时解析出对应的IP地址。在github上查找subDomainsBrute工具。--在03子域名收集......
  • Windows基础(1)命令学习
    Windows基础(1)系统配置linux:/etc和/proc(存储信息在目录)windows:注册表(存储信息在注册表里)windows的四种shell接口GUI图形化用户界面,操作简单cmd命令行用户接口,包含一组预定义的命令wmic微软基于wbem的实现,后被powershell取代powershell自动化脚本框架,支持.net架构wsl......
  • 数据库中对于游标的学习
    游标目录游标游标是什么游标的类型游标的工作原理游标的使用1.声明游标2.打开游标3.检索行4.关闭游标游标的优缺点游标的优点游标的缺点游标是什么MySQL中的游标(Cursor)是一种数据库查询工具,它允许你逐行遍历查询结果集中的数据。游标特别适用于处理存储过程中的大量数据,因......
  • CSP-S2024赛后总结
    $\color{#f39c11}A.决斗$赛时:题目要求游戏结束后剩余怪兽尽可能少,所以我们要将每个怪兽的价值充分发挥。很容易想到一种贪心:用第二小的数先打第一小的,再用第三小的打第二小,……以此类推。这样就能保证能被打掉的都消灭了。双指针维护即可。最后把每一种怪兽剩余的数量......
  • GEE代码学习 day12
    TC变换TC变换要进行矩阵乘法,首先将输入图像从多波段图像(对于每个波段,每个像素存储一个值)转换为数组图像。数组图像是一种更高维度的图像,其中每个像素存储一个波段的值数组。(第IV部分将更详细地介绍和讨论数组图像。您将使用波段1-5和7以及toArray函数:在GoogleEarth......
  • 知识图谱与多模态学习的关系研究综述P1(《Knowledge Graphs Meet Multi-Modal Learnin
    文章汉化系列目录文章目录文章汉化系列目录摘要I引言A.动机与贡献B.相关文献综述C.文章结构II初步概述A.知识图谱B.多模态学习C.知识图谱驱动的多模态设置D.多模态知识图谱设置III知识图谱构建A.典型知识图谱构建B.多模态知识图谱(MMKG)构建摘要 知......
  • MySQL数据库学习指南
    一、数据库的用户管理操作1、启动MySQL服务器以管理员身份运行,否则权限不够会拒绝访问--网络命令启动MySQL80服务语句:netstartMySQL802、关闭MySQL服务器语句:netstopMySQL80     -网络命令关闭MySQL80服务3、连接MySQL服务器注意:连接服务器这里......
  • ELisp学习
    一.前言Lisp语言Lisp诞生的时候包含了9中新思想,其中一些被用于其他高级语言,我们已经习以为常,至今还有2种是Lisp独有的。条件结构(即if-else结构),在Fortran1时只有基于底层机器指令实现的goto结构。函数也是一种数据类型Lisp语言中,函数跟整数和字符串一样,属于数据类型的一种......
  • 如何学习 C 语言
    #如何学习C语言在探索如何学习C语言的旅程中,关键步骤包括理解语言基础、实践编程技巧、熟悉标准库、掌握数据结构与算法、以及参与项目实战。首先,深入理解C语言的基础是至关重要的,它不仅包括语法规则和基本数据类型,还涉及指针、内存管理等高级概念。实践编程技巧是学习过程......