Java基礎----配列入門説明

32065 ワード

1.配列の定義
形式1:
	         []      = new          [  ];

例:3つの整数を格納できる配列コンテナを作成する
	int[] arr = new int[3];

方式二フォーマット:
	    []     = new     []{  1,  2,  3...};

例:1,2,3の整数を格納する配列コンテナを定義します.
	int[] arr = new int[]{1,2,3};

方式3フォーマット:
	    []     = {  1,  2,  3...};

例:1,2,3の整数を格納する配列コンテナを定義します.
	int[] arr = {1,2,3};

2.配列へのアクセス
≪インデックス|Index|emdw≫:配列に格納されている要素ごとに、0から配列のインデックスを使用して配列内の要素にアクセスできるインデックスがあります.配列の長さ:各配列には長さがあり、固定されており、Javaには配列の属性が付与されており、配列の長さを取得できます.文は、配列名.length、属性lengthの実行結果は配列の長さ、intタイプの結果です.次から推測すると、配列の最大インデックス値は配列名.length-1である.
例:プリント配列の長さ
public static void main(String[] args) {
   int[] arr = new int[]{1,2,3,4,5};  
   //     5  
   System.out.println(arr.length);  
}

例:インデックスを使用して対応する配列値を検索する
public static void main(String[] args) {
    //    int    ,    1,2,3,4,5
    int[] arr = {1,2,3,4,5};
    int a = arr[0]//   1,      0      a
    // 0         6
    arr[0] = 6;
    //    0      
    int i = arr[0];//   6
    System.out.println(i);
    //      0    
    System.out.println(arr[0]);
}

3.配列のメモリ原理
public static void main(String[] args) {
   int[] arr = new int[3];  
   System.out.println(arr);//[I@5f15435  arr      
}

4.配列の遍歴
通常の遍歴:
public static void main(String[] args) {
    int[] arr = { 1, 2, 3, 4, 5 };
    System.out.println(arr[0]);
    System.out.println(arr[1]);
    System.out.println(arr[2]);
    System.out.println(arr[3]);
    System.out.println(arr[4]);
}

forループループ方式:
public static void main(String[] args) {
    int[] arr = { 1, 2, 3, 4, 5 };
    for (int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
    }
}

5.配列の基本使用
例:配列内の最大値の取得
public static void main(String[] args) {
    int[] arr = { 5, 15, 20, 100,44,-2};
    //    ,     0     ,  0        
    int max = arr[0];
    //    ,      
    for (int i = 0; i < arr.length; i++) {
      //         max  
      //        max
      if (arr[i] > max) {
        //max     
        max = arr[i];
      }
    }
    System.out.println("      : " + max);
}

例:配列の反転
public static void main(String[] args) {
    int[] arr = { 1, 2, 3, 4, 5 };
    /*
             min=0    
      max=arr.length‐1    
      min++,max‐‐
      */
    for (int min = 0, max = arr.length ‐ 1; min <= max; min++, max‐‐) {
      //                 
      int temp = arr[min];
      arr[min] = arr[max];
      arr[max] = temp;
    }
    //    ,    
    for (int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
    }
}

6.メソッドパラメータおよび戻り値として配列
6.1配列はメソッドパラメータ配列としてメソッドパラメータとして伝達され、伝達されたパラメータは配列メモリのアドレスである.
public static void main(String[] args) {
    int[] arr = { 1, 3, 5, 7, 9 };
    //    ,    
    printArray(arr);
}

//    ,                          
public static void printArray(int[] arr) {
    for (int i = 0; i < arr.length; i++) {
      System.out.print(arr[i]);//13579
    }
}

6.2配列はメソッド戻り値配列としてメソッドの戻り値として、配列のメモリアドレスを返します.
public static void main(String[] args) {
    //    ,        
    //            
    int[] arr = getArray();
    for (int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
    }
}
//return           
public static int[] getArray() {
    int[] arr = { 1, 3, 5, 7, 9 };
    //       ,      
    return arr;
}

7.注意事項
例:下記のプログラムコードを分析する
public static void main(String[] args) {
    int a = 1;
    int b = 2;
    System.out.println(a);//1
    System.out.println(b);//2
    change(a, b);
    System.out.println(a);//1
    System.out.println(b);//2
}
public static void change(int a, int b) {
    a = a + b;
    b = b + a;
}

例:下記のプログラムコードを分析する
public static void main(String[] args) {
    int[] arr = {1,3,5};
    System.out.println(arr[0]);//1
    change(arr);
    System.out.println(arr[0]);//100
}
public static void change(int[] arr) {
   arr[0] = 100;  
}