java charAt()方法和代理

java charAt()方法和代理,java,stringbuffer,Java,Stringbuffer,我正在编写java代码,想知道为什么这段代码的输出是x。因为这是第5个字母,所以我期待着t public class StringBufferDemo{ public static void main(String args[]){ StringBuffer sb = new StringBuffer("ttsttxctlltnt"); System.out.println(sb.charAt(5)); } } 这是因为在java中,一个Stri

我正在编写java代码,想知道为什么这段代码的输出是
x
。因为这是第5个字母,所以我期待着
t

public class StringBufferDemo{
    public static void main(String args[]){
        StringBuffer sb = new StringBuffer("ttsttxctlltnt");
        System.out.println(sb.charAt(5));
    }
}

这是因为在java中,一个
StringBuffer
对象的索引从0开始。第1个字符位于位置0,第2个字符位于位置1,等等

String ------ "t t s t t x c t l l"
ArrayIndex --  0 1 2 3 4 5 6 7 8 9

这是因为在java中,一个
StringBuffer
对象的索引从0开始。第1个字符位于位置0,第2个字符位于位置1,等等

String ------ "t t s t t x c t l l"
ArrayIndex --  0 1 2 3 4 5 6 7 8 9

索引从0开始,而不是从1开始。因此,在字符串“ttsttxctlltnt”中,将打印位置5(0,1,2,3,4,5)处的字符,即“x”。

索引从0开始,而不是从1开始。因此,在字符串“ttsttxctltnt”中,位置5(0,1,2,3,4,5)处的字符即“x”将被打印。

索引从0开始,因此第5个位置处的字符是x。。。如果您希望t作为输出,请尝试以下操作

 System.out.println(sb.charAt(4));

索引从0开始,所以第5个位置的字符是x。。。如果您希望t作为输出,请尝试以下操作

 System.out.println(sb.charAt(4));
public char charAt(int index)
“返回指定索引处的字符值。索引范围从0到length()-1。序列的第一个字符值位于索引0处,下一个字符值位于索引1处,依此类推,用于数组索引。”“t”是您的第六个字符,由于java从0开始numberd,因此它将给出如下结果
public chart(int index)
“返回指定索引处的字符值。索引范围从0到length()-1。序列的第一个字符值在索引0处,下一个字符值在索引1处,依此类推,就像数组索引一样。”“t”是您的第六个字符,因为java从0开始numberd,所以它会给出这样的结果no。。。这并不是因为“计算机从零开始计数”。这是因为Java StringBuffers是从零开始索引的。1) 并非所有从zero索引的语言——Fortran和Pascal都是反例,还有许多其他语言。2) 并非所有可索引Java数据结构都从零开始索引。来自1的JDBCAPI索引。否。。。这并不是因为“计算机从零开始计数”。这是因为Java StringBuffers是从零开始索引的。1) 并非所有从zero索引的语言——Fortran和Pascal都是反例,还有许多其他语言。2) 并非所有可索引Java数据结构都从零开始索引。JDBCAPI索引来自1。