黑马程序员_String类

------- android培训java培训、期待与您交流! ---------- 

 

String

1.字符串是一个特殊的对象。

2.字符串一旦初始化就不可以改变。

3. s1s2有什么区别?

String s1= "abc";//s1在内存中有一个对象。

String s2= new String("abc");//s2在内存中有两个对象。

 

String类的一般方法

1.获取

       (1)字符串中的包含的字符数,也就是字符串的长度。

              int length():获取长度。

       (2)根据位置获取位置上某个字符。

              char charAt(int index)

       (3)根据字符获取该字符在字符串中位置。

              int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。

              int indexOf(int ch, int fromIndex)fromIndex指定位置开始,获取ch在字符串中出现的位置。

              int indexOf(String str)返回的是str在字符串中第一次出现的位置。

              int indexOf(String str, intfromIndex) fromIndex指定位置开始,获取str在字符串中出现的位置。

              int lastIndexOf(int ch)返回指定字符在此字符中最后一次出现处的索引。

2.判断

(1)字符串中是否包含某一个子串。

              booleancontains(str)

       特殊之处:indexOf(str)可以索引str第一次出现位置,如果返回-1.表示该str不在字符串中存在。所以,也可以用于对指定判断是否包含。

              if(str.indexOf("aa")!=-1)

该方法即可以判断,有可以获取出现的位置。

       (2)字符中是否有内容。

              boolean isEmpty()判断长度是否为0.

       (3)字符串是否是以指定内容开头。

              boolean startsWith(str)

       (4)字符串是否是以指定内容结尾。

              boolean endsWith(str)

       (5)判断字符串内容是否相同。复写了Object类中的equals方法。

              boolean equals(str)

       (6)判断内容是否相同,并忽略大小写。

              boolean equalsIgnoreCase()

3.转换

       (1)将字符数组转成字符串。

       构造函数:String(char[])

                       String(char[],offset,count)将字符数组中的一部分转成字符串。

 

       静态方法:staticString copyValueOf(char[])

                       static String copyValueOf(char[] data, intoffset, int count)

static String valueOf(char[])

       (2)将字符串转成字符数组。

              char[] toCharArray()

(3)将字节数组转成字符串。

              String(byte[])

              String(byte[],offset,count)将字节数组中的一部分转成字符串。

       (4)将字符串转成字节数组。

              byte[]  getBytes()

       (5)将基本数据类型转成字符串。

              static String valueOf(int)

              static String valueOf(double)

       特殊:字符串和字节数组在转换过程中,是可以指定编码表的。

4.替换

String replace(oldchar,newchar)返回一个新的字符串,他是通过用newchar替换次字符串中出现的所有oldchar得到的。如果替换字符串不存在,返回原串。

5.切割

       String[] split(regex)

6.子串获取字符串中的一部分。

       String substring(begin)从指定位置开始到结尾。

       String substring(begin,end)包含头不包含尾(beginend-1)。

7.转换,去除空格,比较。

       (1)将字符串转成大写或则小写。

              StringtoUpperCase()

              StringtoLowerCase()

       (2)将字符串两端的多个空格去除。

              String trim()

(3)对两个字符串进行自然顺序的比较。

              int compareTo(string)

示例:练习一模拟一个trim方法,去除字符串两端空格

classStringDemo1

{

public static void main(String[] args)

{

              Strings= "   as df   ";

              s=myTrim(s);

System.out.println ("("+s+")");//打印结果as df

}

public static String myTrim(String obj)

{

              int start = 0 ,end =obj.length()-1;

              while (start<=end &&obj.charAt(start)==' ')

              {

                     start++;

              }

              while(start<=end &&obj.charAt(end)==' ' )

              {

                     end--;

              }

              return obj.substring(start,end+1);

       }

}

练习二获取一个字符串在另一个字符串中出现的次数

思路:

(1)定义一个计数器。(获取位置index判断存在Contains

(2)获取kk的位置,每获取一次就计数一次。

(3当获取不到时,计数完成。

class StringDemo2

{

public static void main(String[] args)

       {

       String s1="abskksdkkakkj";

       String s2="kk";

       System.out.println(cishu(s1,s2)+"");

       }

       public static int cishu(String str,Stringkey)

       {

              int count=0;

              int index=0;

              while((index=str.indexOf(key))!=-1)

              {

                     str=str.substring(index+key.length());

                     count++;

              }

              return count;

       }

}

 

------- android培训java培训、期待与您交流! ---------- 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值