Oracle Tutorialsの多次元配列

私はJavaのOracleチュートリアルを進めています。これまでに理解していないことが1つあります。これが、配列の結果が示されている理由です。

コードは次のとおりです。

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が印刷され、インデックスが2なのでMがどのように印刷されるのかも分かります。印刷されます。

私が理解できないことは、多次元配列がインデックスをどのように使用するかです。

私が間違っている場合は私を修正してくださいしかし、多次元配列は行のように動作するのですか?したがって、最初の配列は0になり、次の配列は1となります。

2番目の配列で[0]はインデックス0なので[1]は「Smith」と等しいのはなぜですか?

1

3 答え

最初のインデックスは、次の2つの配列のいずれかを選択します。

  • names[0] is

    {"Mr. ", "Mrs. ", "Ms. "}
    
  • names[1] is

    {"Smith", "Jones"}
    

2番目のインデックスは、その配列の要素の1つを選択します。

従って:

  • names[0][0] is "Mr. "
  • names[0][1] is "Mrs. "
  • names[0][2] is "Ms. "
  • names[1][0] is "Smith"
  • names[1][1] is "Jones"
2
追加された
String[] titles = names[0];//{"Mr. ", "Mrs. ", "Ms. "}
String[] lastNames = names[1];//{"Smith", "Jones"}

しかし、私はジョーンズがどのように印刷されるのか理解していません。

names の最初のインデックスは、選択する String 配列を選択し、2番目のインデックスは選択された配列の要素です。

names [1] [0] "Jones"の "Smith" lastNames [0] code>は names [1] [1] と同じ lastNames [1] です。

私が間違っていても、多次元配列が行のように機能するかどうかを修正してください。したがって、最初の配列は0になり、次の配列は1などとなります。

     

なぜ2番目の配列で[0]がインデックス0なので[1]は「Smith」に等しいのですか?

これは正しいです。

1
追加された

あなたの配列は次のようにこれらの値を保存します

names[0]  [0] | [1] | [2] | 
     Mr   Mrs    Ms 

names[1]  [0] |  [1] 
         Smith  Jones   

それが理由です

System.out.println(names[0][2] +
                names[1][1]);

Jonesさんを印刷します

これがあなたを助けることを願ってください。

0
追加された