Javaにおける配列の定義と使用

2624 ワード

配列とは、関連するタイプの変数のセットを指し、これらの変数は統一的に操作できます.
1.基本概念
1.1動的初期化配列は参照データ型であり、メモリ割り当ての問題がある.配列ダイナミック初期化:配列を宣言して開きます
データ型[]配列名=newデータ型[長さ]
特徴:配列はまずメモリスペースを開き、インデックスを使用してコンテンツの設定を行います.eg:
public class ArrayDemo{
     public static void main (String [ ] args){ 
         int [ ] x = new int [3];
         System.out.println(x.length);
         x [0] = 1;
         x [1] = 2;
         x [2] = 3;
         for (int i = 0;i < x.lengrh; i++ ){
              System.out.println (x [i]);
        }
    }
}
配列が空間を開くと、1配列へのアクセスがインデックスで完了するように操作できます.すなわち「配列名[インデックス]」小tip:配列インデックスは0から始まり、採用可能なインデックス範囲は(0~インデックス-1);たとえば、3つの空間の配列が開きました.インデックスは、0、1、2.インデックス・アクセスがインデックス・アクセスを超えると、“javalang.ArrayIndexOutOfBoundsException”の例外情報が生成されます.すなわち,配列境界はエラー(実行時異常)②配列が動的に空間を開くと,配列内の各要素がそのデータ型のデフォルト値となる.
③配列自体は秩序ある集合操作であるため、配列の内容に対してループのモードで完了することが多い(配列は限られた集合であり、forループを採用する).
④Javaでは配列長を動的に取得する方法がある:配列名.length;
配列自体は,空間を宣言して開くほか,別のオープンモードがある.すなわち、分布を配列インスタンス化する:eg:
int [] x = null;
x = new int [3];
配列は参照データ型であるため、使用する前に必ずスペース(インスタンス化)を開く必要があり、そうでないと「NullPoninterException」が発生する.
1.2参照転送配列は、参照データ型として、必ず参照転送を発生させることができる.
リファレンス転送スペース:同じスタックメモリを異なるスタックメモリで指すことができます.eg:複数のスタックメモリがスタックメモリを指す:
public class ArrayDemo{
     public static void main(String[] args){
           int [] x = null;
           int temp = null ;
           x = new int [3];//          
           System.out.println(x.length);
           x[0] = 1;//       
           x[1] = 2;//       
           x[2] = 3;//       
           for (int i = 0;i < x.length;i++){
               System.out.println(x[i]);//            ;
       }
       temo = x;//          []
       temp [0] =55;//     
       System.out.println(x[0]);
    }
}
1.3配列静的初期化
特徴:配列は定義と同時に内容を設定します.
簡略化されたフォーマット:
    []      = { , ,......}
完全なフォーマット:
    []      = new     []{ , ,  .....}
eg:
public class ArrayDemo{
    public static void main (String[] args){
         int[] x = {1,2,3,4,5,6,7,8,9};//       
         System.out.println(x.length);
         for (int i = 0;i < x.length;i++){
               System.out.println(x[i]);
         }
    }
}
ここでは、匿名配列という概念を導入します.
匿名配列とは、スタックメモリが指向していない配列の匿名配列が一度しか使用できず、完全なフォーマットしか使用できないことを意味します.eg:
public slass ArrayDemo {
     publi static void mian(String[] args){
        System.out.println(new int [] {1,2,3,4,5,6,7,8,9}.length);
     }
}
静的メソッドを使用して配列を定義する場合は、完全なフォーマットを使用することをお勧めします.
配列の最大欠陥:長さが固定されています.宣言されると、長さは変更できません.(限界の問題がある)