Java 查找数组的索引

Java 查找数组的索引,java,Java,有人能解释一下为什么结果是6吗?谢谢 String[] s = { "A", "B", "C", "D" }; String b = "ABRACADABRA"; int i = s.length - 1; System.out.print( b.indexOf( s[ i ] ) ); 我知道s的长度是4,所以I=3,那么s[I]是什么意思呢?在Java中,字符串和数组是。这意味着第一个元素的索引为0,第二个元素的索引为1,以此类推 因此s[3]表示s的第四个元素,即D。表达式b.index

有人能解释一下为什么结果是6吗?谢谢

String[] s = { "A", "B", "C", "D" };
String b = "ABRACADABRA";
int i = s.length - 1;
System.out.print( b.indexOf( s[ i ] ) );

我知道s的长度是4,所以I=3,那么s[I]是什么意思呢?

在Java中,字符串和数组是。这意味着第一个元素的索引为0,第二个元素的索引为1,以此类推

因此
s[3]
表示
s
的第四个元素,即
D
。表达式
b.indexOf(“D”)
是6,因为
D
ABRACADABRA
中的第七个字母,因此它位于索引6处。

i表示索引 所以在s,你有

i|s

0|A
1|B
2|C
3|D
所以在括号中,你只是给它你想要的值的索引。 所以s[3]给你D。 然后你要找到你给它的值的索引,你给它的值是'D',所以它会寻找'D'在ABRACADABRA中的位置。记住数组从0开始计数,所以

0|A
1|B
2|R
3|A
4|C
5|A
6|D
....

D所在的索引是6。

i是数组索引。在数组中,索引始终以0开头。这意味着如果你想得到第一个位置的数据,你需要做s[0],这会给你一个'A'


它总是与你想要得到的实际位置成-1

因为字符串b中D的索引是6,所以它打印出6?非常感谢。