黑马程序员_java_String

来源:互联网 发布:淘宝可以改会员名吗 编辑:程序博客网 时间:2024/05/19 17:03

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
常见的操作方法:
1、获取。
 (1)字符串中的高喊的字符数,也就是该字符串的长度。
  int length():获取长度。
 (2)根据位置获取位置上某个字符。
  char charAt(int index);
  (3)根据字符获取该字符串中位置。
  int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。
  int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取该字符在字符串中的位置。
  int lastIndexOf(int ch):返回的是ch在字符串中最后一次出现的位置。
2、判断。
 (1)字符串中是否包含某一个字符串。
  loolean contains(str);
  特殊之处:indexOf(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):将字符数组中的一部分转成字符串。
  静态函数:
     static String copyValueOf(char []);
     static String vopyyValueOf(char [],int offset,int count)
     static String ValueOf(char [])
 (2)将字符串转成字符数组
  char [] toCharArray();
 (3)将字节数组转成字符串。
  String (byte [])
  String(byte [],int offset,int count )将字节数组中的一部分转成字符串。
 (4)将字符串转成字节数组。
  byte[] getBytes();
 (5)将基本数据类型转成字符串。
  static String valueOf(int)
  static String valueOf(double)
4、替换
 (1)String replace(oldchar,newchar)
5、切割
 (2)String [] split(reqex)
6、子串
 String substring(begin)
 String substring(int begin,int end)
7、转换,去空格,比较
 (1)将字符串转成大写或者小写
  String toUpperCase();
  String toUpperCse();
 (2)将字符串两端的过个空格去除。
  String trim();
 (3)对两个字符串进行自然顺序的比较。
  int compareTo(String)
编程练习
1、去除字符串两端的空格(这里没有用trim方法)
 public class StringTrim
{
 public static void main(String[] args)
 {
  String s1="   abc def   ";
  s1 =Mytrim(s1);
  sop(s1);
 }

public static void sop(String str)
{
 System.out.println(str);
}

public static String Mytrim(String str)
{
 int start = 0;
 int end = str.length()-1;
 while(start <= end && str.charAt(start) ==' ')
  start++;
 while(start <=end && str.charAt(end) ==' ')
  end--;
 return str.substring(start,end+1);
}
}

2、将字符串反转。
 class Myreverse
{
 public static void main(String[] args)
 {
  String str = "asdf";
  String s =reverseString(str);
  sop("("+s+")");
 }
 public static void sop(String str)
 {
  System.out.println(str);
 }
 public static String reverseString(String str)
 {
  char [] cha = str.toCharArray();
  reverse(cha);
  return new String(cha);
 }
 private static void reverse(char cha [])
 {
  for(int start =0,end = cha.length-1;start<end;start++,end--)
  {
   swap(cha,start,end);
  }
 }
 private static void swap(char cha [],int x,int y)
 {
  char  temp = cha[x];
  cha[x] = cha[y];
  cha[y] = temp;
 }
}
StringBuffer:字符串缓冲区
 是一个容器,长度可变化,字节操作多个数据类型,最终会通过toString方法变成字符串。
1、储存
 StringBuffer  append() 指定数据作为参数添加到已有数据结尾。
   insert(index,数据) 可以将数据添加到指定index位置。
2、删除
 StringBuffer delete(start,end),删除缓冲去中的内容,包含start,不包含end
 StringBuffer deleteCharAt(index) 删除指定位置的内容    
3、获取
 char charAt(int index)
 int indexOf(String str)
 int lastOf(String str)
 int length()
 String substring(int start,int end)
4、修改
 StringBuffer replace(start,end,string)
 void setCharAt(int index,char ch)
5、反转
 StringBffer reverse();
0 0