第5回 配列(その1)

1 配列の基礎
  
・以下の水色の節は、教科書(やさしいJava)の内容に沿って説明しています
 - 教科書の大事なところを抜粋して、掲載している
 - 「Lesson 7 の内容(p.176から)
  ページ数は、第6版と第7版で少しずれているかも、でも内容は同じ
 - 教科書も目を通しておくこと
  
 
 7.1 配列(教科書 p.176)
 
・配列のしくみを知る
 - 同じ型の多くの変数をインデックス値で管理し、参照・操作が可能
 - Pythonに配列はない
 - Pythonではlistarrayの機能に相当するが、扱い方はかなり異なる
 
     
 7.2 配列の準備
 
・配列を準備する
 - 配列は (1)配列を宣言する (2)配列要素を確保 して利用する

  int [] test; //
(1)配列を宣言する
  test = new int[5]; //(2)配列要素を確保

 - インデックス(添字)値を指定して利用する
  上記のように宣言・要素確保した場合、
   test[0],test[1],test[2],test[3],test[4]
  の5個の配列変数が利用可能になる

 - インデックス値は必ず0からであり、はじめの要素は test[0] になる
 
・配列に値を代入する
 - 普通の変数と同様に、配列変数に値を代入する
 
     
 7.3 配列の利用
 
・繰り返し文を配列に用いる
 - 配列と繰り返し処理は相性がよい

<5個の要素に値を代入して、表示する>
   :
  int [] x;
  x = new int[5];

  x[0] = 10;
x[1] = 15; x[2] = 20; x[3] = 25; x[4] = 30;

  System.out.println(x[0]);
  System.out.println(x[1]);
  System.out.println(x[2]);
  System.out.println(x[3]);
  System.out.println(x[4]);
   :
   
<繰り返し処理と組み合わせる>
   :
  int [] x;
  x = new int[5];

  x[0] = 10;
x[1] = 15; x[2] = 20; x[3] = 25; x[4] = 30;

  for(int i=0;i<5;i++){
    System.out.println (x[i]);  // x[]の添字にiを利用する
  }
   :
  
・配列の添字についての注意
 - 配列の添字で、指定可能な範囲からはみ出さないようにすること

<エラーとなる例>
  int [] x;
  x = new int[5]; 
// x[0],x[1],x[2],x[3],x[4] が利用可能

  for(int i=0;i<10;i++){
// i=0,1,2,3,4,5,6,7,8,9 の繰り返し
    x[i] = 0; // i=5 のとき、x[5]は存在しないのでエラーとなる
  }
   :
   :
  x[-3] = 100;  // エラー、配列の添字にマイナスはありえない
  x[1.5] = 200; // エラー、添字に実数値は指定できない

   
      
 7.4 配列の記述のしかた
 
・もうひとつの配列の準備方法を知る
 - 配列の宣言配列要素の確保を一度に行うことができる
  
  int [] test = new int[5];

 

・配列を初期化する
 - 配列の宣言、配列要素の確保値の初期化を行うことができる

  int [] test = {10,20,30,40,50}; // 配列の大きさは、初期値の個数で決まる
  
     
    
2 文字列の変数(配列変数)
   
・文字列を変数に入れることができる
 - StringクラスJavaで用意されているクラス)を使う
 - 文字列の変数は、正確には クラスのインスタンス変数 のこと(詳細は教科書 Lesson10 に記載)
 - 簡単な使い方は、他の型の変数(intやdoubleなど)と同じ

 - 以下(1)(2)は文字列を使用した例、どちらも実行結果は同じ
 
(1)文字列を直接指定して表示する

void setup()
{
  println("TEST");
}

  
(2)文字列を変数に代入して、それを表示する
void setup()
{
  String str = "TEST"; // 変数の宣言と、文字列の代入
  println( str );
}

  
  
・文字列の変数を配列にする
 - 文字列を配列で利用する場合は、以下のようにする
  first、second、third の文字列を s[0],s[1],s[2] に代入して使えるようにする
void setup()
{
  String [] s = { "first", "second", "third" }; // 3個の文字列

  println( s[0] ); // s[0]に"first"が入っている
  println( s[1] ); // s[1]に"second"が入っている
  println( s[2] ); // s[2]に"third"が入っている
}
  
 
 
  
(※)文字列の配列で、以下の一行は変数の宣言、初期化を同時に処理している
  String [] s = { "first", "second", "third" };
 しかし、Javaでは 一つずつの処理を分けると、下記のようになる(教科書 Lesson10 にて解説、後日詳しく学習する予定)  
  String [] s = new String[3]; // 配列変数の宣言

  s[0] = new String(
"first"); // 1個目のインスタンス作成
  s[1] = new String("second"); // 2個目のインスタンス作成
  s[2] = new String("third"); // 3個目のインスタンス作成
     
   
 
 演習
 
  演習のページへ