黑马程序员Java基础入门(八)字符串

目录

1.API

1.1API概述

1.2如何使用帮助文档

2.String

2.1String概述

2.2String构造方法

2.3String对象的特点

2.4字符串的比较

3.StringBuilder

3.1StringBuilder概述

3.2StringBuilder构造方法

 3.3StringBuilder的添加和反转方法

 3.4StringBuilder和string相互转换


1.API

1.1API概述

API(Application Programming Interface),应用程序编程接口

编写一个机器人程序去控制机器人踢足球,程序需要向机器人发出向前跑,向后跑,射门,抢球等各种命令。机器人厂商一定会提供一些用于控制机器人的接口类,这些类中定义好了操作机器人各种动作的方法,其实,这些接口类就是机器人厂商提供给应用程序 编程的接口,大家把这些类称为API

java  API:指的就是JDK中提供的各种功能的java类

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

帮助文档可以在csdn中找到,也可以在网上搜索

1.2如何使用帮助文档

(1)右键打开该文档

(2)找到索引选项卡中的输入框

 (3)在输入框中输入Random

 (4)看类在哪个包下

 (5)看类的描述

 (6)看构造方法

(7)看成员方法

2.String

2.1String概述

String类在java.lang包下,所以使用的时候不需要导包

String类代表字符串,java程序中的所有 字符串文字(例如“atx”)都被实现为此类的实例,也就是说,Java程序中所有的双引号字符串,都是String类的对象

字符串的特点

字符串不可变,他们的值在创建后不能被更改

虽然String的值是不可变的,但是它们可以被共享

字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])

2.2String构造方法

 例子:

public class Dome {
    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 = {97,98,99};
        String s3 = new String(bys);
        System.out.println("s3:"+s3);
        //String s = "abc",直接赋值的方式创建字符串对象,内容就是abc
        String s4 = "abc";
        System.out.println("s4:"+s4);
    }
}

2.3String对象的特点

 1)通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同

 上面的代码中,JVM会首先创建一个字符数组,然后每一次new的时候都会有一个新的地址,只不过s1和s2参考的字符串内容是相同的

2)以""方式给出的字符串,只要字符序列相同下(顺序和大小写),无论在程序代码中出现几次,JVM都只会建立一个String对象,并在字符串池中维护

 在上面的代码中,JVM会创立一个String对象放在字符串池中,并给s3参考;第二行则让s4直接参考字符串池中的String对象,也就是说它们本质上是同一个对象

 

 

2.4字符串的比较

 使用==作比较

基本类型:比较的是数据值是否相同

引用类型:比较的是地址值是否相同

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

public boolean equals(Object anObject);将此字符串与指定对象进行比较,由于我们比较的是字符串对象,所以参数直接传递一个字符串

2.5通过帮助文档查看String中的方法

3.StringBuilder

3.1StringBuilder概述

 

 

         如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费内存空间,而这种操作还不可避免,那么有没有一种比较好的方式可以解决这个问题呢?答案是肯定的,我们可以通过Java提供的StringBuilder类就来解决这个问题

StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器

这里的可变指的是StringBuilder对象中的内容是可变的

String和StringBuilder的区别:

String:内容是不可变的

StringBuilder:内容是可变的

3.2StringBuilder构造方法

 3.3StringBuilder的添加和反转方法

 3.4StringBuilder和string相互转换

1.StringBuilder转换为String

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

2.String转换为StringBuilder

public StringBuilder(String s);通过构造方法就可以实现把String转化为StringBuilder

 3.5通过帮助文档查看StringBuilder中的方法

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值