String

 

目录

1.API(application programming interface):应用程序编程接口。

2.String 是java.lang包下的,不需要导包 。

3.StringBuilder


1.API(application programming interface):应用程序编程接口。

使用jdk说明书。Random是java.util包下 的。java.lang包不需要导入。  

sc.nextLine();按 ctrl + alt + v可快捷生成左边 String s = sc.nextLine();

2.String

是java.lang包下的,不需要导包 。

  • String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。java中所有的双引号字符串,都是String类的对象。

  • 字符串特点:

  • (1)字符串不可变,它们的值在创建后不能被更改

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

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

String 构造方法:

方法名

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

 字符串的比较

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

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

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

public boolean equals(Object anObject):将此字符串与指定对象进行比较。因为比较的是字符串对象,所以参数直接传递一个字符串

例如:s1.equals(s2);

获取功能的方法:

public int length () :返回此字符串的长度。
public String concat (String str) :将指定的字符串连接到该字符串的末尾。
public char charAt (int index) :返回指定索引处的 char 值。
public int indexOf (String str) :返回指定子字符串第一次出现在该字符串内的索引。
public String substring (int beginIndex) :返回一个子字符串,从 beginIndex 开始截取字符串到字符串结尾。
public String substring (int beginIndex, int endIndex) :返回一个子字符串,从 beginIndex
endIndex 截取字符串。含 beginIndex ,不含 endIndex

使用:

例如  s1 = "abcd"     s2="abc"

s1.length的结果:4                                             s1.concat(s2)结果:"abcdabc"            s1.charAt(2)结果: c                                          s1.indexOf(cd)的结果:2                  s1.substring(2)的结果:cd                                s1.substring(0,2)结果:ab

3.StringBuilder

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

查看帮助手册。StringBuilder是java.lang包下的,不需要导包。是一个可变的字符串。

String:内容不可变。StringBuidler:内容可变

《对Java String不可变的理解》

StringBuilder构造方法:

StringBuilder xx = new StringBuilder();//初始化一个空的xx

StringBuilder xx =new StringBuilder("helloworld");//初始化xx的值为helloworld

StringBuilder添加和反转方法

xx.append("hello").append("world").append(100) ;//直接在原字符串的后面添加

xx.reverse() ; //会直接反转xx,并替代原来的顺序

String和StringBuilder相互转换:

String转为StringBuilder:new StringBuilder(xx);//初始化为指定内容为xxd的一个对象

StringBuilder转为String:xx.toString();

可以匿名对象调用

public static void main(String[] args) {
        //从键盘录入一个字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String line = sc.nextLine();
        System.out.println(getReversal(line));
    }

 public static String getReversal(String s){
//-------
        String str = new StringBuilder(s).reverse().toString();
//------
        return str;
    }
String----(new StringBuilder(s))---->StringBuilder----(reverse())--->StringBuilder---(toString())--->String

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值