A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pengbin 中级黑马   /  2015-7-20 17:04  /  575 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


/*
* String类适合用于描述字符串事物。
* 提供了多个对字符串操作的方法。
*
* 常见的操作方法有:
*
* 1.获取:
*   1.1:获取字符串中包含的字符数,也就是字符串的长度。
*    int length():获取长度。
*   1.2:根据位置获取位置上的某个字符。
*    char charAt(int index):
*   1.3:根据字符获取该字符在字符串中位置。
*    int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。
*    int indexOf(int ch,int fromIndex):从fronIndex指定位置开始获取ch在字符串中出现的位置。
*   
*    int indexOf(String str):返回的是str在字符串中第一次出现的位置。
*    int indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置。
*
*    int lastIndexOf(int ch):返回的是ch在字符串中最后一次出现的位置。
*
* 2.判断:
*   2.1:字符串中是否包含某一个子串。
*    boolean contains(str):
*    特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1,表示该str不在字符串中。
*      所以,也可以用于对指定判断是否包含。
*      if(str.indexOf("aa")!=-1)
*
*      而且该方法即可以判断,又可以获取出现的位置。
*
*   2.2:字符串中是否有内容。
*    boolean isEmpty():原理就是判断长度是否为0
*   2.3:字符串是否是以指定内容开头。
*    boolean startsWith(str):
*   2.4:字符串是否是以指定内容结尾。
*    boolean endWith(str):
*   2.5:判断字符串内容是否相同,复写了Object类中的equals方法。
*    boolean equals(str);
*   2.6:判断内容是否相同,并忽略大小写。
*    boolean equalsIgnoreCase();
*
* 3.转换:
*   3.1:将字符数组转成字符串。
*    构造函数:String(char[])
*       String(char[],offset,count):将字符数组中的一部分转成字符串。
*      (offset是起始角标,count是个数)
*
*    静态方法:
*      static String copyValueOf(char[]);
*      static String copyValueOf(char[] data,int offset,int count);
*     
*      static String valueOf(char[])
*
*   3.2:将字符串转成字符数组。
*      char[] toCharArray():
*
*   3.3:将字节数组转成字符串。
*      String(byte[]):
*      String(byte[],offset,count):将字节数组中的一部分转成字符串。
*  
*   3.4:将字符串转换成字节数组。
*      byte[] getBytes():
*
*   3.5:将基本数据类型转成字符串。
*      static String valueOf(int)
*      static String valueOf(double)
*
*   特殊:字符串和字节数组在转换过程中,是可以指定编码表的。
*
* 4.替换:
*   String replace(oldchar,newchar);
*
* 5.切割:
*   String[] split(regex);
*
* 6.子串:获取字符串中的一部分
*   String substring(begin);
*   String substring(begin,end);
*
* 7.转换,去除空格,比较。
*   7.1:将字符串转成大写或者小写
*    String toUpperCase();
*    String toLowerCase();
*
*   7.2:将字符串两端的多个空格去除
*    String trim();
*
*   7.3:对两个字符串进行自然顺序的比较。
*    int compareTo(string);//相等返回 0,大于返回正数,小于返回负数
*/

public class StringDemo
{
public static void main(String[] args)
{
  StringMethod.method_7();
}

}

class StringMethod
{
public static void method_get()
{
  String str = "asdfgh";
  
  //长度
  sop(str.length());
}

public static void method_is()
{
  String str = "ArrayDemo.java";
  
  //判断是否是Array单词开头。
  sop(str.startsWith("Array"));
}

public static void method_trans()
{
  char[] arr = {'a','b','c','d','e','f'};
  String s = new String(arr);
  sop("s="+s);
  
  String s1 = "adcefg";
  char[] chs = s1.toCharArray();
  for(int x=0;x<chs.length;x++)
  {
   sop("ch="+chs[x]);
  }
}

public static void method_replace()
{
  String s = "hello java";
  //String s1 = s.replace('a', 'n');//如果替换的字符不存在,那么返回原字符串。
  String s1 = s.replace("java", "world");
  //字符串一旦被初始化就不能被改变,所以s不变!
  sop("s="+s);
  sop("s1="+s1);
}

public static void method_split()
{
  String s = "zhangsan,lisi,wangwu";
  String[] arr = s.split(",");
  
  for(int x=0;x<arr.length;x++)
  {
   sop(arr[x]);
  }
}

public static void method_sub()
{
  String s = "abcdef";
  
  sop(s.substring(2));//从指定位置开始到结尾。如果角标不存在,会出现字符串角标越界异常。
  sop(s.substring(2,4));//包含头,不包含尾。s.substring(0,s.length());
}

public static void method_7()
{
  String s = "   Hello Java  ";
  sop(s.toLowerCase());
  sop(s.toUpperCase());
  sop(s.trim());
  
  String s1 = "acc";
  String s2 = "aaa";
  sop(s1.compareTo(s2));
}

public static void sop(Object obj)
{
  System.out.println(obj);
}
}

1 个回复

正序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马