黑马程序员——字符串

本文详细介绍了Java中字符串的处理方法,包括如何使用indexOf方法来查找字符或子串的位置,以及如何利用循环和计数器来统计一个字符串在另一字符串中出现的次数。此外,还提供了一个具体的例子来演示这一过程。

——- 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);  
    }  

}   





——- android培训java培训、期待与您交流! ———-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值