スポンサーサイト





上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

  • Comments (Close): -
  • TrackBack (Close): -

配列は便利!





これから、データを扱うのに便利な「配列」について学びます。

たとえば、あなたがパソコン教室の先生だとして、こないだの試験の点数データを管理してみましょう。

生徒は、田中君、佐藤君、井上君の3人です。点数は、それぞれ80、90、75点でした。

80
90
75



のように出力するにはどうしたらいいでしょう?

まず一番シンプルな方法:

public class Sample
{
public static void main( String[] args )
{
System.out.println(80);
System.out.println(90);
System.out.println(75);
}
}


これはシンプルで間違いではないのですが、数字が羅列されているだけなので、たとえば田中君の点数が何点なのか分かりにくいです。

そこで変数を使います。

public class Sample
{
public static void main( String[] args )
{
int tanaka=80;
int sato=90;
int inoue=75;

System.out.println(tanaka);
System.out.println(sato);
System.out.println(inoue);
}
}


だいぶ分かりやすくなりました。しかし、「int …」を何度も書かなければならないのと、「System.out.println(…)」も何度も書かなければならないのがかっこ悪いです。今は3人なのでまだいいですが、100人の生徒の成績を管理するとなると大変です。

ところが、配列を使うとたくさんのデータの管理がシンプルにできるようになります。


配列の記述の仕方はいくつかありますが、ここでは一番シンプルな方法を書きます。

型名 配列変数名[] = {値1,値2,値3,…}



今回の例で具体的に書くと、

int test[]={80,90,75};

というふうに記述できます。

これで、3つのデータを格納したハコが作成されます。この配列を作成して呼び出すプログラムは以下のようになります。

public class Sample
{
public static void main( String[] args )
{
int test[]={80,90,75};

System.out.println(test[0]);
System.out.println(test[1]);
System.out.println(test[2]);
}
}


つまり、80というデータがtest[0]に、90というデータがtest[1]に、75というデータがtest[2]に格納されているわけです。

注意点としては、かっこ[]の中の数字が0から始まるということ。testという名前で3つの配列を作ったら、test[1]、test[2]、test[3]の3つではなく、test[0]、test[1]、test[2]の3つになります。面倒ですが、そういう決まりです。

配列には文字列も格納できますから、生徒の名前も配列にすることができます。

public class Sample
{
public static void main( String[] args )
{
String name[]={"田中君","佐藤君","井上君"};
int test[]={80,90,75};

System.out.println(name[0]+":"+test[0]);
System.out.println(name[1]+":"+test[1]);
System.out.println(name[2]+":"+test[2]);
}
}


生徒の名前と成績を一気に配列に格納してそれを出力するという、非常にシャープなプログラムが出来上がりました(自画自賛)。

ただ、やはり「System.out.println(…);」の部分がうっとうしいですね。

この部分は、繰り返し処理のfor文を使うとシンプルになります。配列は多数のデータを使用するので、繰り返し処理をすることが多いです。ぜひfor文とセットで覚えましょう。

では、for文を使って上のプログラムを書き換えます。配列が2種類あるので、for文をネストする形になります。分からない人は、for文をよく勉強してマスターするようにしてください。


public class Sample
{
public static void main( String[] args )
{
String name[]={"田中君","佐藤君","井上君"};
int test[]={80,90,75};

for(int i=0;i<name.length;i++){
System.out.println(name[i]+":"+test[i]);
}

}
}


上のソースで「name.length」とは「nameという配列の要素の個数」を表します。この場合、生徒は3人ですからname.lengthは3です。3と書いてもいいのですが、name.lengthとしておけば、生徒数を変えると配列の要素の数も自動で変えてくれるので、こう書いたほうが便利なのです。

関連記事

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

Comments:

Comment Form
Only inform the site author.

Trackback+Pingback:

TrackBack URL for this entry
http://javamania.blog25.fc2.com/tb.php/7-31d95a11
  • 閉じるボタン
クラスライブラリ解説 目次
クラスライブラリとは
 ├ Java APIの調べ方
 ├ Objectクラスを調べる
 ├ ライブラリのインポート
 ├ 完全修飾クラス名を調べる
 ├ staticインポート
 ├ 外部ライブラリの利用

文字列を扱う
 ├ Stringとイミュータプル
 ├ StringBuilder 文字列の連結
 ├ toString()のオーバーライド
 ├ toXxCase() 大文字と小文字
 ├ compareTo() 値の比較
 ├ parseDouble() 文字を小数値に
 └ 文字列を抜き出す
 ├ char配列からString型へ変換
 ├ 空白文字の除去

日付を扱う
 ├ Calendar 現在の日付
 ├ Date 日付の表示

数値演算を扱う
 ├ round() 切上・切捨・四捨五入
 ├ BigDecimal
 ├ sqrt(),pow() 累乗と平方根
 ├ BigInteger
 ├ int型の最大値・最小値
 ├ random() 乱数作成

ファイルを扱う
 ├ ファイルの存在確認
 ├ ファイルを作成
 ├ ファイルの削除
 ├ ファイルサイズを調べる

入出力ストリーム
 ├ ファイルを読み込む
 ├ 画像ファイルのコピー
 ├ 日本語の読み込みと書き出し
 ├ バッファ入出力
 ├ データ型フリーの出力ストリーム
 ├ getBytes()メソッド

書式つき入出力
 ├ 書式を指定して出力
 ├ 引数インデックス
 ├ 整数値のフォーマット
 ├ 小数値のフォーマット
 ├ 九九の表のフォーマット

例外処理
 ├ printStackTrace()
 ├ NullPointerException
 └ NumberFormatException
月別アーカイブ
カテゴリ
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。