Java笔记_013_字符串

字符串

API

API概述

Application Programming Interface:应用程序编程接口

Java API:

指的就是JDK中提供的各种功能的Java类

这些类将底层的实现封装起来,我们不需要关心这些类是怎么实现的,只需要学习这鞋类如何使用即可,我们可以用过帮助文档来学习这些API如何使用

注意:

  • 调用方法的时候,如果方法有明确的返回值,我们用变量接收
  • 可以手动完成,也可以使用快捷键的方式完成(Ctrl+Alt+v)

String

String概述

String在java.lang包里面,所以我们使用的时候不用导包

String类带边字符串,java中的所有字符串文字都被实现为此类的实例

也就是说,java程序中的所有带双引号的字符串,都是String类的对象

字符串的特点

  • 字符串不可变,他们的值在创建后不能被更改
  • 虽然String的值是不可变的,但是他们可以被共享
  • 字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])

String的构造方法

方法名说明
public String()创建一个空斋字符串对象,不含有任何内容
public String(char[] chs)根据字符数组的内容,来创建一个字符串对象
public String(byte[] bys)根据字节数组的内容,来创建一个字符串对象
String s = “abc”直接赋值的方式创建字符串对象,内容就是abc
package com.test02;

public class StringDemo1 {
    public static void main(String[] args) {
        String s1 = new String();
        System.out.println("s1:" + s1);

        char[] chs = {'a', 'b', 'c'};
        String s2 = new String(chs);
        System.out.println("s2:" + s2);

        byte[] bys = {97, 98, 99};
        String s3 = new String(bys);
        System.out.println("s3:" + s3);

        String s4 = "abc";
        System.out.println("s4:" + s4);
    }
}

输出结果:

String对象的特点

每次new出来的对象是不一样的,是两个对象

当赋值的字符串相同时,两个字符串实际上是一个字符对象

字符串的比较

使用==作比较

  • 基本数据类型:比较的是数据值是否相同
  • 引用数据类型:比较的是地址值是否相同

字符串是对象,它比较内容是否相等,是通过一个方法来实现的,这个方法叫做:equals()

  • public boolean equals(Object anObject):将此字符串与指定对象进行比较。由于我们比较的是字符串对象,所以参数直接传递一个字符串
  • public char charAt(int index):返回指定索引处的char值,字符串的索引也是从0开始的
  • public int length():返回字符串的长度

StringBuilder

StringBuilder概述

StringBuilder是一个可变的字符串类,我们可以把它看做一个容器,这里的可变指的是StringBuilder对象中的内容是可变的,做拼接的时候是不会产生新的变量的

String和StringBuilder的区别:

  • String内容是可变的
  • StringBuilder内容是不可变的

StringBuilder的构造方法

方法名说明
public StringBuilder()创建一个空白可变字符串对象,不含任何内容
public StringBuilder(String Str)根据字符串的内容,来创建一个可变字符串对象
StringBuilder str1 = new StringBuilder();
StringBuilder str2 = new StringBuilder("HelloWorld");

StringBuilder的添加和反转方法

方法名说明
public StringBuilder append(任意类型)添加数据,并返回对象本身
public StringBuilder reverse()返回相反的字符序列
StringBuilder str2 = new StringBuilder("HelloWorld");

str2.append("SoLi"); // 不需要变量接收
System.out.println(str2);

str2.reverse(); // 不需要变量接收
System.out.println(str2);

// 链式编程
str2.append(1).append(2).append(3);
System.out.println(str2);

StringBuilder和String相互转换

  1. StringBuilder转为String

    public String toString()通过toString()方法就可以实现把StringBuilder转换为String

    StringBuilder str2 = new StringBuilder("HelloWorld");
    String s = str2.toString();
    
  2. String转为StringBuilder

    public StringBuilder(String str)通过构造方法就可以实现把String转换为StringBuilder

    String s = "HelloWorld";
    StringBuilder str2 = new StringBuilder(s);
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绒毛鸭鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值