第2章Javaプログラミングの基礎——FAQ 2.24配列はどのように定義して初期化しますか?


FAQ 2.24配列はどのように定義して初期化しますか?
回答:
Java配列のいくつかの関連する側面について述べ,Java配列の宣言,作成,初期化について述べ,対応するコードを与えた.
1次元配列の宣言方法:type var[];またはtype[]var;
配列を宣言するときに長さ(配列内の要素の数)を指定することはできません.
Javaでキーワードnewを使用して配列オブジェクトを作成します.フォーマットは、配列名=new配列要素のタイプ[配列要素の個数]です.
例:TestNew.java:
プログラムコード:

  
    
  1. public class TestNew 
  2.      public static void main(String args[]) { 
  3.          int[] s ; 
  4.          int i ; 
  5.          s = new int[5] ; 
  6.          for(i = 0 ; i < 5 ; i++) { 
  7.              s[i] = i ; 
  8.          } 
  9.          for(i = 4 ; i >= 0 ; i--) { 
  10.              System.out.println("" + s[i]) ; 
  11.          } 
  12.      }  
  13. }

初期化:
1.動的初期化:配列定義は配列に空間と値を割り当てる操作とは別に行う.2.静的初期化:数値を定義しながら配列要素に空間を割り当て、値を割り当てる.3.デフォルトの初期化:配列は参照タイプであり、その要素はクラスのメンバー変数に相当するため、配列が空間を割り当てた後、各要素もメンバー変数の規則に従ってステルスによって初期化される.例:
TestD.java(ダイナミック):
プログラムコード:

  
    
  1. public class TestD 
  2.      public static void main(String args[]) { 
  3.          int a[] ; 
  4.          a = new int[3] ; 
  5.          a[0] = 0 ; 
  6.          a[1] = 1 ; 
  7.          a[2] = 2 ; 
  8.          Date days[] ; 
  9.          days = new Date[3] ; 
  10.          days[0] = new Date(2008,4,5) ; 
  11.          days[1] = new Date(2008,2,31) ; 
  12.          days[2] = new Date(2008,4,4) ; 
  13.      } 
  14.  
  15. class Date 
  16.      int year,month,day ; 
  17.      Date(int year ,int month ,int day) { 
  18.          this.year = year ; 
  19.          this.month = month ; 
  20.          this.day = day ; 
  21.      } 
  22.  

TestS.java(静態):
プログラムコード:

  
    
  1. public class TestS    
  2. {    
  3.      public static void main(String args[]) {    
  4.          int a[] = {0,1,2} ;    
  5.          Time times [] = {new Time(19,42,42),new Time(1,23,54),new Time(5,3,2)} ;    
  6.      }    
  7. }    
  8.  
  9. class Time    
  10. {    
  11.      int hour,min,sec ;    
  12.      Time(int hour ,int min ,int sec) {    
  13.          this.hour = hour ;    
  14.          this.min = min ;    
  15.          this.sec = sec ;    
  16.      }    
  17. }   

TestDefault.java(デフォルト):
プログラムコード:

  
    
  1. public class TestDefault    
  2. {    
  3.      public static void main(String args[]) {    
  4.          int a [] = new int [5] ;    
  5.          System.out.println("" + a[3]) ;    
  6.      }    
  7. }