JAVA基础学习(四)——String类、StringBuider类

一、String概述

1、String 在java.lang包中,所以使用该类的时候不需要导包

2、String类 代表的是字符串,java中双引号引其的字符串都是String类的对象。

3、String类的特点  3.1  字符串不可变,它们的值在创建后不可以被更改(指的是字符串"abc"不能

                                       通过运算改变,但字符串变量可以通过赋值改变)

                                3.2  虽然String的值不可更改,但是他们可以被共享

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

二、构造方法

    2.1  public String(); 

                      —— 创建一个空白字符串对象,不含任何内容

                                       eg:   String sc=new String();   

                                                   System.out.print(sc);     //输出的sc的值为 空

     2.2  public String(char[] chs):;

                      ——根据字符数组的内容,来创建字符串对象

                            eg:char[] chs={a,b,c}

                                     String sc=new String(chs);   

                                     System.out.print(sc);     //输出的sc的值为abc

  2.3  public String(byte[] bys):

                    ——根据字符数组的内容,来创建字符串对象

                            eg:  byte[] chs={1,2,3}

                                     String sc=new String(chs);   

                                     System.out.print(sc);     //输出的sc的值为123

2.4  String s="abc"   直接赋值    ————推荐使用

三、字符串获得的特点

char[] chs={a,b,c};                   //chs的地址为001

String s1=new String(chs);       //创建对象 s1的地址为002

String s2=new String(chs);         //s2 的地址为003

String s3="abc";                         // s3=s4 的地址为004

String s4="abc";

四、字符串比较

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

                                  引用类型——比较的是地址值

                         equals() 比较字符串内容是否相同

                                               ——eg:   s1.equals(s2)   表达式的值是true或false

 

五、字符串拼接

      String a="adf";

        a+="vb";

                //输出a=adfvb,这里会在堆内存中产生三个数据,adf,vb,adfvb,赋值后a为adfvb,浪费了空间。

六、StringBuider

6.1 创建对象

StringBuider sb=new StringBuider(); 创建一个空的字符串变量sb;

StringBuider sb=new StringBuider(”HELLOWORLD“); 创建一个字符串并赋值

6.2添加数据

sb.append("adffg"); (返回的时对象本身)将adffg添加到sb字符串后面

相当于StringBuider as=sb.append(''adffg'');

                eg:  StringBuider  sb=new StringBuider("123");

                       sb.append("asdf");

                       Systen.out.print(sb)    //输出的值为  123asf

注: 链式编程 sb.append("aa").append("wer").append("gh");

6.3 反转数据

sb.reverse();将字符串sb里面的字符反转

             eg:StringBuider  sb=new StringBuider("123");

                    sb.reverse();

                    Systen.out.print(sb)    //输出的值为  321

6.4 StringBuider与String相互转换;

6.4.1    StringBuider转换为String ——public String toString();

                  —— 通过toString()进行转换

                             eg:StringBuider sc=new StringBuider();

                                     sc.append("hello");

                                    String a=sc.toString();

6.4.2    String转换为StringBuider——public StringBuider(String s)

                  ——通过构造方法进行转换

                             eg:  String s="asdf";                          

                                   StringBuider sc=new StringBuider(s);

                               

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值