*
方法区:方法数据,常量池,静态区。(了解即可)
String类适用于描述字符串事物。
那么它就提供了多个方法对字符串进行操作。
常见的操作有哪些?
"abcd"
1,获取 非常重要
1.1,字符串中包含的字符数,也就是字符串的长度。
int length();(获取长度)数组也有长度但是它没有括号因为是属性,
字符串有长度但是他是通过方法完成的。
1.2,根据位置index获取该位置上具体的字符。
char charAt(int index):
1.3,根据字符获取该字符串中的位置。
int indexOf(int ch):返回的是指定字符在此字符串中第一次出现的位置。
int indexOf(int ch,int fromIndex):从fromIndex指定的位置开始,
获取此字符在字符串中出现的位置。
int indexOf(String str):返回的是Str在字符串中第一次出现的位置。
int indexOf(String str,int fromIndex):从fromIndex指定的位置开始,
获取Str在字符串中出现的位置。
int lastIndexOf(int ch) 返回指定的字符在这个字符串中最后一次出现的位置的索引
int lastIndexOf(int ch,int fromIndex)返回指定的字符在这个字符串中
最后一次出现的位置的索引,且是从指定的索引中开始反向索引.
int lassindexOf(String str):返回的是指定字符串在字符串中最右边出现处的索引
int lassindexOf(String str,int fromIndex):返回的是指定字符串在字符串中
最后一次出现初的索引,从指定的索引出反向开始索引.
2,判断//返回的是布尔类型的
必须掌握!!
2.1,字符串中是否包含某一个子串.
boolean contains(str);
特殊之处: indexOf(str);索引出str第一次出现的位置,如果返回的是-1,说明str字符不存在
索引,也可以用作与 对指定判断是否包含.
if(str.indexOf("adsg")!=-1)
说明有该方法,且可以获取返回的位置.
2.2,字符串中是否有内容.
boolean isEmpty() //判断长度是否为0,当且仅当length()为0时返回ture
2.3,字符串是否是以指定内容开头.
boolean startsWith(str);
2.4,字符串是否是以指定内容结尾.
boolean endsWith(str);
2.5,判断字符串的内容是否相同,复写了object类中的equals方法.
boolean equals(str);
2.6,判断内容是否相同,并忽略大小写.
boolean equalsIgnoreCase();
3,转换.
3.1,将字符数组,转成字符串.
构造函:String(char[]); 将数组全部转换成字符串.
String(char[],offset,count);将数组中的一部分转成字符串.
静态的方法:static String copyValueOf(char[]);
static String copyValueOf(char[] date,int offset,int count)
static String valueOf(char);
**3.2,将字符串,转成字符数组(返回char类型数组).
chat[] toCharArray();
3.3,将字节转换成字符串.
String(byte[]); 将字节全部转换成字符串.
String(byte[],offset,count);将字节中的一部分转成字符串.
3.4,将字符串,转成字节数组.
byte[] getBytes();
特殊:字符串和字节数组在转换过程中,是可以指定编码表的.
3.5,将基本数据类型转成字符串.
static String valueOf(int);
static String valueOf(double);
3+""; ==>String.valueOf(3); 都一样.
4,替换.
String replace(oldchar,newchar);
5,切割.
String[] split(regex);
6,子串.// 获取字符串中的一部分
String substring(begin); //从begin到结尾处
String substring(begin,end);//从begin到end 不包括end.
7,转换.去除空格,比较
将字符串转成大写或者小写
String toUpperCase();
String toLowerCase();
将字符串两端的多个空格去除
String trim();
对两个字符串进行自然顺序的比较
int compareTo(String);
*/
class StringMethodDemo{
public static void method_7(){
String s = " sADH djgFG ";
sop(s.toUpperCase());
sop(s.toLowerCase());
sop(s.trim());
}
public static void method_sub(){
String s = "sahdfiog";
sop(s.substring(3));
sop(s.substring(3,5));
}
public static void method_split(){
String s = "zhagnsan, lisi,wangwu,liuqi";
String[] arr = s.split(",");
for(int x = 0;x<arr.length;x++){
sop(arr[x]);
}
}
public static void method_replace(){
String s = "hello java";
String s1 = s.replace('a','n');
sop("s="+s);
sop("s1="+s1);
}
public static void method_trans(){
char[] arr = {'a','b','c','d','e','f','g'};
String s = new String(arr);
sop("s="+s);
String s1 = "asdifighaog";
char[] chs = s1.toCharArray();
for(int x = 0; x<chs.length;x++){
sop("ch="+chs[x]);
}
}
public static void method_is(){
String str ="ArrayDemo.java";
//三个判断分别是判断开头结尾和子串
sop(str.startsWith("Array"));
sop(str.endsWith(".java"));
sop(str.contains("Demo"));
}
public static void method_get(){
String str = "abcdefabc";
//获取长度
sop(str.length());
//根据索引获取字符。
sop(str.charAt(3));//当访问到字符串不存在的时候,会出现字符串角标异常
//根据字符获取索引
sop(str.indexOf('a',3));//如果没有找到返回的是 -1 角标。
//3表示从三号角标开始索引第一次出现A的位置。
//反向索取一个字符串出现的位置
sop(str.lastIndexOf("a"));
//输出的是5,角标位置不会改变.
}
public static void main(String[] args) {
//method_get();
//method_is();
//method_trans();
//method_replace();
//method_split();
//method_sub();
method_7();
}
public static void sop(Object obj){
System.out.println(obj);
}
}
|
|