• Java学习笔记——字符串


    字符串(String)是用一对双引号括起来的零个或多个字符组成的有限序列。在Java中,字符串被当作对象/类来处理。

    程序中需要用到的字符串可以分为:
    String类:不可变字符串类,如果修改系统会自动创建新的对象;
    StringBuffer类:可变字符串类,多线程
    StringBuilder类:可变字符串类,单线程;
    串的两种最基本的存储方式是顺序存储方式和链接存储方式

    String类字符串

    字符串变量必须赋值后才可以使用,这称为字符串对象初始化。
    字符串的创建和赋值的方式有三种:

    1. String 字符串变量名;
    2. 字符串变量名="字符串常量";
    3. String username="";
    4. username="Tom"
    5. 或者
    6. String 字符串变量名="字符串常量";
    7. String SayHello="Hello world";
    8. 或者
    9. String studentName=new String("周杰杰");
    String对象的创建:

    1、利用构造器:

    String s=new String("Hello world");

    2、直接创建:

    String s="Hello world";

    对字符串的操作函数或方法:

    获取字符串的长度

    length()方法是用来获取字符串长度的。它会返回字符串对象中所包含的字符的个数,例如:

    1. public class myfirst {
    2. public static void main(String[] args) {
    3. String sayHello="Hello,Welcome to Java!!!"; //创建一个sayHello字符串并赋值
    4. int length=sayHello.length(); //创建一个变量length存放所获取的字符串长度
    5. System.out.println(length);
    6. }
    7. }

    字符串连接

    1. concat()函数

    str1.concat(str2);

    concat()方法返回一个字符串,是将字符串str2添加到str1后面之后形成新字符串,例如:

    1. public class myfirst {
    2. public static void main(String[] args) {
    3. String sayHello1="Hello,"; //创建字符串sayHello1、sayHello2并赋值
    4. String sayHello2="Welcome to Java!!!";
    5. String sayHello3=sayHello1.concat(sayHello2); //将合并后的字符串赋值给sayHello3
    6. System.out.println(sayHello3);
    7. }
    8. }
    9. 运行结果为:Hello,Welcome to Java!!!

    也可以直接使用字符串常量来调用concat()方法。例如:

    String sayHello3="Hello,".concat("welcome to Java!!!")

    2. 加号'+'运算符

    连接字符串还可以使用加号“+”运算符。这是一个重载了的运算符,用来直观地连接两个字符串,它使用起来比concat()方法更加灵活。例如:

    String 字符串3=字符串1+字符串2;

    注意:

    当表达式中包含多个加号,并且存在各种数据类型参与运算时,则按照加号运算符从左到右进行运算;

    Java会根据加号运算符两边的操作数类型来决定是进行算术运算还是字符串连接的运算。

    字符串比较

    比较两个字符串是否相等

    equals()方法:比较两个字符串是否相等,返回值boolean值;
    equalsIgnoreCase()方法:同样返回值为boolean值;

    1. 字符串1.equals(字符串2); //严格比较字符串是否相同
    2. 字符串1.equalsIgnoreCase(字符串2); //忽略字母大小写来进行比较
    1. public class myfirst {
    2. public static void main(String[] args) {
    3. String sayHello1="HELLO"; //创建两个字符串
    4. String sayHello2="hello";
    5. System.out.println(sayHello1.equals(sayHello2)); //使用equals方法进行严格比较
    6. System.out.println(sayHello1.equalsIgnoreCase(sayHello2)); //使用equalsIgnoreCase方法忽略大小写进行比较
    7. }
    8. }
    9. 运行结果:
    10. false
    11. true

    截取字符串:

    • str1.substring(int index):提取从位置索引开始的字符串部分
    • str2.substring(int beginindex, int endindex):提取beginindex到endindex-1为止的字符串部分
      1. public class myfirst {
      2. public static void main(String[] args) {
      3. String s1="abcdefg";
      4. #截取开始位置为3的字符串
      5. System.out.println(s1.substring(3));
      6. #截取开始索引为2,结束索引为5但不包含5的字符串
      7. System.out.println(s1.substring(2, 5));
      8. }
      9. }
      10. 运行结果:
      11. defg
      12. cde

    返回指定索引处的字符:charAt()

    charAt函数返回只包含一个字符的字符串,而不是一个字符本身。如果给定index超出字符串范围,则返回一个空字符串

    如果需要直接输出字符串中的字符,如输出字符串s2中的字符,仅需将变量类型定义为char型

    StringBuilder类字符串

    StringBuilder和String的转换

    String转StringBuilder

    1. String a = new String("123");
    2. StringBuilder s = new StringBuilder(a);

    StringBuilder转String

    String s2 = s.toString(s);
    

    StringBuilder常用函数接口

    1.字符串拼接 append()

    1. StringBuilder s = new StringBuilder("hzy ");
    2. //直接调用append();
    3. s.append("aaa ");
    4. //也可以如下拼接
    5. s.append("bbb ").append("ccc ");
    6. System.out.println(s);
    7. 运行结果:
    8. hzy aaa bbb ccc

  • 相关阅读:
    HTML5笔记
    【iOS ARKit】PhysicsMotionComponent
    保姆级深度学习环境搭建(亲测避坑)
    内窥镜项目
    都说测试行业饱和了,为什么我们公司给初级测试开到了12K?
    如何对 Kubernetes 节点进行运维
    DTW 2023:戴尔发力多云战略与边缘运营
    halcon模板匹配捆绑测量矩形检测芯片针脚
    (续)SSM整合之spring笔记(JdbcTemplate)(P107-109)
    强化学习从基础到进阶-案例与实践[2]:马尔科夫决策、贝尔曼方程、动态规划、策略价值迭代
  • 原文地址:https://blog.csdn.net/weixin_53432918/article/details/133132881