6.JavaSE API部分解释 和 String类和StringBuilder类详解

*API:
        概述:

                应用程序编程接口
        
                Java API:指的就是JDK中提供的各种功能的Java类(这些类将底层的实现封装起来)
        
                java在lang包下不用导包

 *接收数据特殊句:
            String s = sc.nextLine();
          注意:sc.nextLine()是Scanner的成员方法

        自动生成快捷键:
            Ctrl + Alt + V

*字符串:

    String类(字符串类):
        java.lang包下的, Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例(也就是说,Java程序中所有的双引号字符串,String类的对象)。 

        注意:①字符串不变; 它们的值在创建后不能被更改。
            ② 字符串缓冲区支持可变字符串。
            ③ 因为String对象是不可变的,它们可以被共享。
            ④字符串 效果上(输出结果) 相当于字符数组(char[]),但是底层原理是字节数组(byte[]),重点记住
            ⑤内部有自带toString方法,一般不会输出地址值

        String构造方法:
            ①public String()(常用)
                创建一个空白字符串对象,不含有任何内容
            
            ②public String(char[] chs)
                根据字符数组的内容,来创建字符串对象
            
            ③public String(byte[] bys)
                根据字节数组的内容,来创建字符串对象
                注意:有平台的默认字符集解码,会将byte数组解码为字符,参考ASCII码

            ④String s = “abc”;(推荐)
                直接赋值的方式创建字符串对象,内容就是abc

           即两种方式:一种用new创建对象,另一种直接赋值

        String对象(注意地址值)的特点:
            ①通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同
            
            ②通过直接赋值方式创建对象,只要字符序列相同(顺序和大小写),无论在程序
              代码中出现几次,JVM都只会建立一个String对象,并在 字符串池(常量池) 中维护,常量池中有就直接被引用,可以试想只有一个常量池,放一堆东西被找去配对。
                本质上是同一个对象(地址值),其实它们有一个方法来判断是否是同一个对象,后面再说

        字符串的比较:
            1.使用 == 做比较
                基本类型:比较的是数据值是否相同
                引用类型:比较的是地址值是否相同(String类比较特殊这里也与引用类型类似)
            
            2.字符串是对象,比较内容是否相同,通过方法  equals()实现:
                public boolean equals(Object  anObject):
                        将此字符串与指定对象进行比较。由于我们比较的是字符串对象,所以参数直接传递
                    一个字符串对象,即括号里写对象名
                    
                    格式:对象名1.equals(对象名2)

           案例:用户登录,遍历字符串,统计字符次数,字符串拼接,反转(倒着遍历)
            遍历字符串一个代码:
                public char charAt(int index):返回指定索引处的char值,字符串的索引也是从0开始的
                获取字符用这个    
            
            字符串的长度:
                public int length():返回此字符串的长度
                格式:字符串对象.length()
    

    StringBuider类:
        如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费内存空间,而这种操作
        还不可避免。Java提供的StringBuider类可以解决这个问题
        
        Java.lang包下

        注意:它是一内容可变的字符序列,即放在常量池的(与String直接赋值类似)

        StringBuider构造方法:
            ①public  StringBuider()
                创建一个空白可变字符串对象,不会含有任何内容

            ②public  StringBuider(String str)
                根据字符串的内容,来创建可变字符串对象

           提示:获取长度与String类似,格式:对象名.length(),同时它自身带有toString方法

        StringBuider的添加和反转方法:
            ①public  StringBuider append(任意类型)
                添加数据,并返回对象本身(可以进行链式编程)

            格式:(对象名1 =)对象名1.append(“字符串”)
            
            ②public  StringBuider reverse()
                返回相反的字符序列
            
           注意:这两个方法是返回对象本身的,所以不需要接收数据的操作

        StringBuider和String相互转换:
            ①StringBuider转换为String:
                toString方法实现:
                        public String toString():通过toString()就可以实现把StringBuider转换为String

            ②String转换为StringBuider
                StringBuider第二条构造方法实现:
                        public StringBuider(String s):通过构造方法就可以实现把String转换为StringBuider

          案例:拼接字符串,字符串反转    
          
          注意:创建对象并使用方法可以这样写:new StringBuider(s).reverse().toString();
                new StringBuider(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、付费专栏及课程。

余额充值