GEDOU The Programmer -文系転職エンジニアの学習日誌-

新規プログラマーのブログ。内容はランダム。

スッキリわかるJava 第4章 【配列】

【スッキリわかるJava入門進捗レポート】


第4章 【配列】


・プログラミングでは「いくつかの関係あるデータをグループにしてまとめて一つの変数に入れる」という仕組みがある。
一つの変数にきちんとした構造に整理して、後から特定の値を取り出しやすくする。この構造のことを「データ構造(data structure)といい」その代表的なものを配列という。配列以外にも「マップ」や「スタック」というようなデータ構造もある。


・配列は同一種類の複数データを並び順で格納するデータ構造。一つ一つの箱を「要素」。配列の各要素には同一種のデータしか格納することはできない。
それぞれの要素には添字(index)と呼ばれる番号がついている

 

・配列の初期化
int.double型は0,
boolean型はfalse,String型はnullで初期化。

 

・配列を扱う際に起きやすいエラーとしてArrayIndexOutOfBoundsException、NullPointerExeptionが発生するケースが多い。

 

・拡張for文の例
for(int value : 配列変数){}のような記述で配列の要素の数だけfor分を回すことができる。回しながら要素の値はvalueに代入される。

 

・変数や配列イメージはこれまで説明されてきたような動き(箱に入れる等)では実はない。
実際はコンピュータはデータをメモリに記録する。
変数がデータそのものを保存していることに対して、
配列変数は「配列の実態は8832番地にあります」と指し示す動作をしているに過ぎない。このことを「参照」と呼ぶ。

 

・変数に変数を代入した場合、「変数のコピーが作られる」が、配列変数に配列変数を代入した場合、値がコピーされるわけではなく、「メモリ上のアドレスが代入」される。従ってどちらも一つのデータを参照する事に注意する。

 

・int型やboolean型のような変数を「基本型」と呼び、メモリ上の番地を代入する配列変数のようなものを「参照型」と呼ぶ。

 

・基本的に宣言された配列の寿命はスコープ内で終える。しかしnewで宣言された配列はメモリ上に残り、その後もメモリを圧迫する原因となる。
Javaではガベージコレクションという仕組みのおかげで、自動的にどこからも参照されていない配列は削除される。

 

・多次元配列
これまでの配列は一次元配列という。一次元配列に縦並びの列を加えると二次元配列になる。
実際Javaでは「表」ではなく「配列の配列」である。 

 

 <<配列の作りかた>>

★配列の宣言+配列の要素を用意するという2ステップで配列を作る。
int score = { 1, 2, 3, 4, 5 };//score[0] = 1;


//これが最も基本形な配列の作り方
int score; //配列変数を宣言

//宣言した配列変数に要素を代入する。

newを宣言することでメモリ上に実体として要素を用意する。
score = new int[5]; 

 

//上2つを組み合わせた簡易形。これは要素を作成したという意味

int score = new int[5]; 

 

//省略形①

int score = new int [] { 1, 2, 3, 4, 5 }; 

//省略形②
int score = { 1, 2, 3, 4, 5 }; 

スッキリわかるJava入門 第2版 (スッキリシリーズ)

スッキリわかるJava入門 第2版 (スッキリシリーズ)