indexOf 方法的困惑

[code="java"]
package gaej.example;

public class Test {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    String uri ="/ceshia/";
    int index = uri.indexOf("/", 1);
    System.out.println(index+"=========");
    String test = "/abcdefghgg/";
    int d = test.indexOf("g", 1);
    int s = test.indexOf("/", 1);
    System.out.println(d+"********"+ s);
}

}[/code]

很奇怪,index的值是7而不是0;
d 的值是7,
s 是11.
为什么g 是去找第一个,但是/ 却不是第一个呢

[quote]int index = uri.indexOf("/", 1);[/quote]

indexOf后面的参数1表示从第几个字符开始找,第一个字符是0,所以,如果你用参数0,就会得到结果0。另外,这里你用1得到的结果是7,但是:
[quote] String uri ="/ceshia/"; [/quote]
中第二个/是第8个字符,不过由于索引从0开始,这里就输出了7.

同意楼上的看法,索引是从0开始的,不是从1开始计算的。