我正在阅读关于Java的Oracle教程,到目前为止我还有一件事情我不明白。这就是为什么数组的结果是显示的原因。
代码是:
public static void main (String [] args){
String[][] names = {
{"Mr. ", "Mrs. ", "Ms. "},
{"Smith", "Jones"}
};
// Mr. Smith
System.out.println(names[0][0] +
names[1][0]);
// Ms. Jones
System.out.println(names[0][2] +
names[1][1]);
}
据我所知,当指数为0时,Mr会被打印出来。但是当它是[1] [0]时,smith会被打印出来,而且我也知道Ms是如何被打印出来的,因为索引是2.但我不是了解琼斯是如何打印出来的。
我不明白多维数组如何使用索引。
如果我错了请纠正我,但多维数组是否像行一样工作?所以第一个数组是0,下一个数组是1,依此类推?
这是为什么[1]是第二个数组而[0]等于“Smith”,因为它是索引0?
答案 0 :(得分:2)
第一个索引选择以下两个数组之一:
names[0]
是
{"Mr. ", "Mrs. ", "Ms. "}
names[1]
是
{"Smith", "Jones"}
第二个索引选择该数组的一个元素。
因此:
names[0][0]
是"Mr. "
names[0][1]
是"Mrs. "
names[0][2]
是"Ms. "
names[1][0]
是"Smith"
names[1][1]
是"Jones"
答案 1 :(得分:1)
String[] titles = names[0]; // {"Mr. ", "Mrs. ", "Ms. "}
String[] lastNames = names[1]; // {"Smith", "Jones"}
但我不明白Jones是如何打印出来的。
names
的第一个索引选择要从中挑选的String
数组,而第二个索引是所选数组的元素。
正如"Smith"
为lastNames[0]
names[1][0]
,"Jones"
为lastNames[1]
,与names[1][1]
相同。
如果我错了请纠正我,但多维数组就像行一样工作。所以第一个数组是0,下一个数组是1,依此类推?
这是为什么[1]是第二个数组而[0]等于“Smith”,因为它是索引0?
这是正确的。
答案 2 :(得分:0)
您的数组将这些值存储如下
names[0] [0] | [1] | [2] |
Mr Mrs Ms
names[1] [0] | [1]
Smith Jones
这就是为什么
System.out.println(names[0][2] +
names[1][1]);
打印琼斯女士
希望这会对你有所帮助。