‘壹’ java种String类的indexof方法
indexOf(String
str,
int
fromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。这里从b开始,因此找不到a,则返回
-1。
‘贰’ java种String类的indexof方法
s.indexOf("a", 1) 这行的意思是 从字符串s里寻找字母a的位置,但寻找的时候要从s的索引为1的位置开始,这就是第二个参数1的作用,由于索引是从0开始的,这样实际寻找的时候是从字母b开始的,这样肯定就找不到a了,所以输出了-1,-1的意思就是没有找到。说的有点啰嗦
‘叁’ 请教java中indexOf()的问题
其实这个查api就能搞定.indexof 找input2里面第一次出现input1字符的位置.
indexof
public int indexof(int ch)
返回指定字符在此字符串中第一次出现处的索引。如果在此 string 对象表示的字符序列中出现值为
ch 的字符,则返回第一次出现该字符的索引(以 unicode 代码单元表示)。对于 0 到 0xffff(包括 0 和
0xffff)范围内的 ch 的值,返回值是
this.charat(k) == ch
为 true 的最小 k 值。对于其他 ch 值,返回值是
this.codepointat(k) == ch
为 true 最小 k 值。无论哪种情况,如果此字符串中没有这样的字符,则返回
-1。
参数:
ch - 一个字符(unicode 代码点)。
返回:
在此对象表示的字符序列中第一次出现该字符的索引;如果未出现该字符,则返回 -1。
‘肆’ java String中的方法indexof求助:
这里indexOf方法是查找normalized字符串是否包含%XX的意思
如 normalized.indexOf("%25") 表示normalized.是否包含%25这个字符串
如果返回值为-1,表示没有找到,如果返回值非-1,既是发现该字符串的位置。
‘伍’ Java问题,String类中的indexOf()方法....
indexOf 方法,返回 String 对象内第一次出现子字符串的字符位置。
语法为strObj.indexOf(subString[, startIndex])。
参数:
1、strObj:必选项。String 对象或文字。
2、subString:必选项。要在 String 对象中查找的子字符串。
3、starIndex:可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查。
(5)javastring的indexof扩展阅读:
indexOf()从左向右执行查找括号内所包含的字符在该字符串内的循序位置,在第几位就返回几,类如:str1=asdfkju,str1.indexOf('d'),则返回的值是2。如果有重复的字符出现,以第一个字符为准。如果没有找到子字符串,则返回 -1。
如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。
‘陆’ Java中循环和String类indexOf(,)方法的关系
第一个问题,循环为什么可以跳出?
当循环条件不满足的时候,也就是(i = numOne.indexOf(numTwo, i)) 的值<0 的时候就能退出跳出
numOne.indexOf(numTwo, i)表示在字符串1里查找字符串2的位置,
如果找不到 或者 索引超过了字符串长度,
函数 就会返回-1,如果是-1.那么-1>=0 肯定是假,所以循环就会退出
比如12345678 那么循环会在第一次找到1,后面找不到就返回-1;循环就退出了
比如 ab 索引从0开始. b的索引是1, 如果这个时候"ab".index("b",2); 指定的索引下标2,超过了最大的索引限度, 也返回-1;
indexOf(intch,intfromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
为什么不是+1递增?
其实本来i要加1递增的,因为循环条件里,又改变了i的值
第一次循环 numOne.indexOf(numTwo, i) 的结果是0,修改了i的值为0;
条件满足 (i = 0)>=0; 循环结束后i增加1, 那么i = 1;
第二次循环 numOne.indexOf(numTwo, i)的结果是6,修改了i的值为6;
条件满足 (i = 6)>=0; 循环结束后i增加1, 那么i = 7;
第三次循环 numOne.indexOf(numTwo, i)的结果是6,修改了i的值为10;
条件满足 (i = 10)>=0; 循环结束后i增加1, 那么i = 11;
...............同理中间的其他次循环..............
最后的循环 (上次循环后,i=14) i超过了字符串的最大索引13, numOne.indexOf(numTwo, i)就返回-1,修改了i的值为-1;
条件不满足 (i = -1)>=0; 退出循环,.结束