/*
String类:
用于描述字符串事物
提供了多个方法对字符串进行操作。
"adnhjjj"
字符从0开始计数。
单引号表示字符,双引号表示字符串
常见方法:
1.获取:
a.字符串包含的字符数,即字符串长度:
int length();获取长度。
b.根据位置获取位置上的某个字符:
char charAt(int index);获取字符
c.根据字符获取该字符在字符串中的位置
int indexOf(int ch);获取位置
返回的是ch在字符串中第一次出现的位置。
d.反向索引一个字符出现的位置
int lastIndexOf(int ch)
int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
2.判断:
a.字符串中是否包含某一个子串
boolean contains(str);
注意:
特殊之处:indexOf(str)可以索引str第一次出现的位置
如果返回-1,就表示该str不在字符串中。
所以,也可以用于指定判断是否包含;
if(str.indexOf("a")!=-1)
而且该方法既可以判断,也可以获取出现的位置。
b.字符串中是否有内容
boolean isEmpty();原理就是判断长度是否为0.
c.字符串是否是以指定内容开头。
boolean startsWith(str);
d.字符串是否是以指定内容结尾。
boolean endsWith(str);
e.判断字符串内容是否相同,
boolean equals(str);
f.判断字符串内容是否相同,并忽略大小写。
boolean equalsIgnoreCase(str);
3.转换:
a.将字符数组转换成字符串
构造函数:
String(char[])
String(char[],offset,count)将字符数组中的一部分
转换成字符串。起始位置,个数。
静态方法:
static String copyValueOf(char[]);
static String copyValueOf(char[] data,int offset,int count);
staitc String valueOf(char[]);
***b.将字符串转换成字符数组
char[] toCharArray();
c.将字节数组转换成字符串
构造函数:
String(byte[])
String(byte[],offset,count)将字节数组中的一部分
转换成字符串。起始位置,个数。
d.将字符串转换成字节数组
byte[] getBytes();
e.将基本数据类型转换成字符
static String valueOf(double d)
返回 double 参数的字符串表示形式。
static String valueOf(float f)
返回 float 参数的字符串表示形式。
static String valueOf(int i)
返回 int 参数的字符串表示形式。
static String valueOf(long l)
返回 long 参数的字符串表示形式。
特殊:字符串和字节数组在转换过程中是可以指定编码表的。
4.替换:
String replace(oldchar,newchar);
如果要替换的字符不存在,返回的还是原字符串。
5.切割:
String[] split(regex);
6.子串:获取字符串中的一部分。
String substring(begin);
String substring(begin,end);
7.转换、去除空格、比较
a.将字符串转换成大写或小写
String toUpperCase();
String toLowerCase();
b.将字符串两端的多个空格去除
String trim();
c.对两个字符串进行自然顺序的比较
int compareTo(string)
*/
public class StringMethodDemo
{
public static void main(String[] args)
{
//method_get();
//method_if();
//method_trans();
// method_replace();
//method_split();
//method_sub();
method_7();
}
/*======转换、去除空格、比较===============================================*/
public static void method_7()
{
String s = " Hello Java ";
sop(s.toLowerCase());
sop(s.toUpperCase());
sop(s.trim());
String s1 = "abc";
String s2 = "aaa";
sop(s1.compareTo(s2));
}
/*=====子串===============================================*/
public static void method_sub()
{
String s = "abcdef";
sop(s.substring(20));//从指定位置开始到结尾。
//如果角标不存在,会出现字符串角标越界异常。
sop(s.substring(2,4));//包含头,不包含尾。
sop(s.substring(0,s.length()));//整个字符串
}
/*=====切割===============================================*/
public static void method_split()
{
String s = "zhangsan,lisi,wangwu";
String[] arr = s.split(",");
for (int i=0;i<arr.length ;i++ )
{
sop(arr[i]);
}
}
/*=====替换==============================================*/
public static void method_replace()
{
String s = "hello java";
//String s1 = s.replace('a','n');
String s1 = s.replace("java","c++");
/*String s1 = s.replace('s','n');
如果要替换的字符不存在,返回的还是原字符串。*/
sop("s="+s);
sop("s1="+s1);
}
/*=====转换=============================================*/
public static void method_trans()
{
char[] arr = {'a','b','c','d','e','f'};
String s1 = new String(arr);
String s2 = new String(arr,1,3);
sop("s1="+s1);
sop("s3="+String.copyValueOf(arr));
sop("s2="+s2);
String s3 = "jfkjdjfkd";
char[] ch = s3.toCharArray();
for (int i=0;i<ch.length ;i++ )
{
sop("ch="+ch[i]);
}
}
/*====判断============================================*/
public static void method_if()
{
String str = "ArrayDemo.java";
//判断文件名称是否是Array开头。
sop(str.startsWith("Array"));
//判断文件名称是否是.java结尾。
sop(str.endsWith(".java"));
//判断文件中是否包含Demo。
sop(str.contains("Demo"));
if(str.indexOf("Demx")!=-1)
sop("true");
else sop("false");
}
/*====获取=============================================*/
public static void method_get()
{
String str = "abcdeakpf";
//长度
sop(str.length());
//根据索引获取字符
sop(str.charAt(2));
//当访问到字符串中不存在的角标时会发生字符串
//角标异常问题。
//根据字符获取索引
//ssop(str.indexOf(98));
sop(str.indexOf('n',2));
//如果没有找到则返回-1;
//反向索引一个字符出现的位置
sop(str.lastIndexOf('a'));
}
/*==================================================*/
public static void sop(Object obj)
{
System.out.println(obj);
}
}