——- android培训、java培训、期待与您交流! ———-
脚标指针,返回的是数值,所以返回值类型是 int 类型
获取该字符存在字符串的位置
int indexOf(int ch);
//int indexOf(需要查找的脚标指针);
1.返回的是ch在字符串中第一次出现的位置。
2.传入的是字符对应的ASCII码。
3.如果没有找到,返回-1。
int indexOf(int ch,int fromIndex);
//int indexOf(要查找的字符,查找起点的脚标指针);
从fromIndex指定位置开始,获取ch在字符串中出现的位置。
int indexOf(String str);
//int indexOf(字符串);
返回的是str在字符串中第一次出现的位置。
int indexOf(String str,int fromIndex);
//int indexOf(字符串,脚标指针);
从fromIndex指定位置开始,获取str在字符串中出现的位置。
int lastIndexOf();
//int lastIndexOf();反向索引
IndexOf 指数
判断
字符串中是否包含某一个子串
booleancontains(str);
//是否 比较 (字符串);
【特殊之处】:
indexOf(str);
//指数(字符串);
可以索引str第一次出现的位置,如果返回-1表示该str不在字符串中存在。
所以,也可以用于对指定判断是否包含。
如:if(str.indexOf(“aa”)!=-1);
//判断(字符串.交表指数(“目标字符”)是否=-1);
等于-1表示为false 程序不执行,跳出
而且该方法既可以判断,又可以获取出现的位置。
如果只为判断,用contains。
/*
需求:获取一个字符串在另一个字符串中出现的次数
思路:1.记录次数需要定义计数器
2.首先我们需要判断目标字符串,是否存在于另一个字符串中。(跳出1)
2.如存在,那就要一个循环,使用java的方法得到目标字符串在另一个字符串出现的第一次的脚标数值
3.记录第一次之后,需要程序继续向后执行。直到判断为false,程序结束(跳出2)
4.第二次的查找需要在第一次得到的脚标指数上面+1
4.每出现一次,计数器就加一次
5.直到判断为false,程序结束(跳出3)
*/
class StringDemo
{
public static void main(String[] args)
{
String s="Hllello Worlld!";
//String s="Hllello Worlld!";
sop("s="+s);
//sop("s="+"Hllello Worlld!");
sop("count="+count(s,"ll"));
//sop("count="+count("Hllello Worlld!","ll"));
}
public static int count(String s,String key)
//public static int count("Hllello Worlld!","ll")
{
int count=0;//定义计数器
int index=0;//定义获取脚标变量
while((index=s.indexOf(key,index))!=-1)
//if(str.indexOf(“aa”)!=-1)既判断,又可以获取出现的位置。如果只为判断,用contains。
//while((index="Hllello Worlld!".indexOf("ll","脚标变量"))!=-1)
// if(str.indexOf(“aa”)!=-1)【条件(字符串名.indexOf(需比较的字符,脚标变量))】
{
index=index+key.length();//从找到的子串位置后一位开始获取
//index=index+"获取ch在字符串中出现的位置" 从找到的子串位置后一位开始获取
count++; //计数器
}
return count;
}
private static void sop(Object obj)
{
System.out.println(obj);
}
}