麻烦各位大神帮我解答一下java的问题

麻烦各位大神帮我解答一下java的问题String s1="04计算机网络技术";
int i =s1.length();
char c=s1.charAt(2));
String s2=s1.substring(5);
我有点不明白为什么i的值是7,难道不该是9吗?
还有下面的c的值是计,和s2的值是技术我也不是很理解

解释在代码中,如下:

/**
 * 注:字符串索引从0开始
 * 
 * @author qd
 *
 */
public class TestString {

    public static void main(String[] args) {

        String s1 = "04计算机网络技术";
        
        int i = s1.length();
        System.out.println("s1.length():" + i);

        // 返回指定索引处的 char 值
        char c = s1.charAt(2);
        System.out.println("s1.charAt(2):" + c);

        // 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
        String s2 = s1.substring(5);
        System.out.println("s1.substring(5):" + s2);
    }
}

运行效果:

温馨提示:答案为网友推荐,仅供参考