JAVA——字符串

  1. API
    1.1 API概述
    API(Application Programming Interface):应用程序编程接口
    Java API:JDK中提供的各种功能的Java类
    注意:调用方法的时候,如果方法有明确的返回值,用变量接收,可以手动完成,也可使用快捷键(Ctrl+Alt+V)

  2. String
    2.1 String概述
    String类在Java.lang包下,使用的时候不需要导包;
    String类代表字符串,Java程序中的所有字符串文字都被实现为此类的实例,即Java程序中所有的双引号字符串,都是String类的对象。
    字符串的特点:
    (1)字符串不可变,它们的值在创建后不能被更改
    (2)虽然String的值是不可变的,但是可以被共享
    (3)字符串在效果上相当于字符串数组(char[]),但是底层原理是字节数组(byte[])
    2.2 String构造方法
    在这里插入图片描述
    推荐使用直接赋值的方式得到字符串对象。

package String;

public class StringDemo1 {
    public static void main(String[] args) {
        //public String();创建一个空白字符串对象,不含有任何内容
        String s1 = new String();
        System.out.println("s1"+s1);

        //public String(char[] chs);根据字符数组的内容,来创建字符串对象
        char[] chs = {'a','b','c'};
        String s2 = new String(chs);
        System.out.println("s2"+s2);

        //public String(byte[] bys);根据字符数组的内容,来创建字符串对象
        byte[] bys = {87,88,89};
        String s3 = new String(bys);
        System.out.println("s3"+s3);

        //String s = "abc";直接赋值的方式创建字符串对象,内容为abc
        String s4 = "abc";
        System.out.println("s4"+s4);
    }
}

s1
s2abc
s3WXY
s4abc

2.3 String对象的特点
(1)通过new创建的字符串对象,每一次new都会重新申请一个内存空间,虽然内容相同,但是地址值不同
在这里插入图片描述
(2)以“ ”方式给出的字符串,只要字符串序列相同(顺序和大小写),无论在程序代码中出现几次,JVM都只会建立一个String对象,并在字符串池中维护
在这里插入图片描述
2.4 字符串的比较
使用==作比较:
(1)基本类型:比较的是数据值是否相同
(2)引用类型:比较的是地址值是否相同
字符串是对象,他比较内容是否相同,是通过一个方法来实现的:equals()
public boolean equals(Object anObject):将此字符串与指定对象进行比较,由于比较的是字符串对象,所以参数直接传递一个字符串。
在这里插入图片描述
在这里插入图片描述
2.5 通过帮助文档查看String中的方法
在这里插入图片描述
3. StringBuilder
3.1 StringBuilder概述
如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,即耗时,又浪费内存空间,而这种操作还不可避免。可以通过Java提供的StringBuilder来解决问题。
StringBuilder是一个可变的字符串类,把它看作一个容器(可变的指的是StringBuilder对象中的内容可变)
String、StringBuilder的区别:
String:内容是不可变的;
StringBuilder:内容是可变的
3.2 StringBuilder构造方法:
在这里插入图片描述
代码演示:

package StringBuilder;

public class StringBuilder1 {
    public static void main(String[] args) {
        //无参
        StringBuilder sb = new StringBuilder();
        System.out.println("sb"+sb);
        System.out.println("sb.length():"+sb.length());

        //带参
        StringBuilder sb2 = new StringBuilder("hello");
        System.out.println("sb2"+sb2);
        System.out.println("sb2.length():"+sb2.length());

    }
}

运行结果:

sb
sb.length():0
sb2hello
sb2.length():5

3.3 StringBuilder的添加和反转方法
在这里插入图片描述
代码演示:

package StringBuilder;

public class StringBuilder2 {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();

        /*
        StringBuilder sb2 = sb.append("hellow");

        System.out.println("sb"+sb);
        System.out.println("sb2"+sb2);
        System.out.println(sb==sb2);
         */

        /*
        sb.append("hellow");
        sb.append("java");
        sb.append(100);
        System.out.println(sb);
        //hellowjava100
         */

        //链式编程
        sb.append("hellow").append("java").append(100);
        System.out.println(sb);

        //反转
        sb.reverse();
        System.out.println(sb);

    }

}

运行结果:

hellowjava100
001avajwolleh

3.4 StringBuilder和String相互转换
(1)StringBuilder转换为String
在这里插入图片描述
(2)String转换为StringBuilder
在这里插入图片描述
代码演示:

package StringBuilder;

public class StringBuilder3 {
    public static void main(String[] args) {
        //StringBuilder-String
       /*
        StringBuilder sb = new StringBuilder();
        sb.append("hellow");

        String s = sb.toString();
        System.out.println(s);
        */
       //String- StringBuilder
       String s ="he";

       StringBuilder sb = new StringBuilder(s);
        System.out.println(sb);


    }
}

运行结果:

hellow
he

3.5 通过帮助文档查看StringBuilder中的方法
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值