こんにちは。株式会社クリーブ HR部のサナです。
今年(2021年)の5月まで新入社員研修を受けていました。
技術研修(プログラミング研修)をしている中で、「なるほどな」と思った考え方を絵にして皆さんに分かりやすいように発信したいなと思い、記事を書いています。
今回はJavaの配列についてです。
前回の復習
前回の記事では変数について書きました。
変数は「データを入れておく箱」ですね。
配列はその箱が一列に連なっているイメージです。
配列って何?
配列は同じ型のデータが複数集まったものです。
同じ種類の箱が一列に連なっているイメージですね。
また、連なっている箱一つひとつにインデックス(添え字)という番号がついています。インデックスは0からなので、1番目の箱のインデックスは0、2番目の箱のインデックスは1です。
「〇番目の箱のデータを表示させる」というような操作をするときに使います。
コードにするとこんな感じ
先程の絵をコードにするとこんな感じになります。
①
データ型の後のこれ→[]は配列記号と言います。
配列であることを表す記号です。
②
その後に配列名を書きます。
変数と同じく配列も名前を付けなければなりません。
どんなデータの集まりなのか分かりやすい名前を付けるのがいいでしょう。
③
イコール(=)の後は new を書きます。
newは箱を新しく用意するというイメージです。
④
最後の[]の中に書いてある数字は要素数です。
要素数は箱の数を表しています。
箱は1つにつき1つのデータしか入れられませんから、要素数が3の配列は、3つデータが入れられるという事になりますね。
初期化するには
前回の記事で、「=(イコール)を使って、初期値を代入することを初期化」と説明しました。
先程説明した配列のコードを見てみると、初期化はされていませんね。
「int型でnumという名前の3つデータが入る箱の集まり(配列)をこれから使いますよ!」とコンピュータに宣言しただけですね。
では、箱にデータを入れた状態にする(初期化する)にはどうしたらよいでしょうか。
宣言と同時に初期化する場合
宣言と同時に初期化する場合は
int[] num = {2,4,5};
のように書きます。
この場合、newは書きません。
もう一度、初期化するとき
宣言と同時に初期化した後、その配列のデータを一括で変更したい、つまりは初期化したいときはどう書けばよいのでしょうか。
中身を一つずつ変更することは可能ですが、一括で変更する場合は箱から新しくする必要があります。
int[] num = {2,4,5};
→箱3つとその中のデータを一括で入れる。
num = new int[] {6,8,9};
→numという名前はそのまま、箱と中身を新品にする。
という感じです。
ちなみに、
num = new int[5];
のように、newで要素数を変更することもできます。
これだと新品の箱5個をnumと呼ぶことにしたイメージですね。
1つずつデータを変更するとき
一括ではなく、「1番目の数だけ変えたい!」みたいなときは
num[0] = 3;
と、書きます。
このコードを日本語にしてみると、
「numという配列のインデックスが0のデータを3に変えるよ」
です。
配列名の後のこれ→[]にインデックスの番号を入れて指定します。
インデックスの使いどころがようやく判明しましたね。
lengthフィールド
要素数を数えたり、要素の数だけ処理を繰り返したり、という指示をコンピュータにさせたいとき、どうすればいいでしょうか。
そんな時に役立つのがlengthフィールドです。
フィールドの詳しい説明はまた後日するとして、今は「要素数を数えることができる魔法の言葉」くらいに思っておいてください。
コードにすると、配列名.lengthという感じで使います。
表示出力をする文法(System.out.println())と一緒に使って、
System.out.println(num.length);
のように使えます。
まとめ
Javaの配列について説明しましたが、いかがだったでしょうか?
基礎的なことをなんとなくイメージできるくらいにしか説明していませんが、誰かのプログラミングに興味を持つきっかけになってくれればいいなと思っております。
少しでも「なるほど!」と思っていただけたら嬉しいです。
今回説明したことをここにまとめておきますね。
・配列は同じ型のデータが複数集まったもの
・配列にはインデックス(添え字)という番号がついている
・インデックスは0から
・これ→[]は配列記号
・変数と同じく配列も名前を付ける必要がある
・newは箱を新しく用意するというイメージ
・要素数はデータを入れる箱の数のこと
・lengthフィールドは「要素数を数えることができる魔法の言葉」
・書き方は、配列名.length
次回は演算子について書こうと思っています。
また見に来てくださいね。
おまけ
株式会社クリーブのHPや公式SNSにぜひ遊びに来てください!
「こんな動画作ってほしい」「業界のこういうこと知りたい」
などありましたら、TwitterやInstagramのDM、TikTokやYouTubeのコメントなどで、お気軽にお申し付けください。
株式会社クリーブってどんな会社?
ホームページは?
TikTok
@cleave_official メール書くときってググってから書きますよね??
♬ 無音 – High-Resolution Raboratory
YouTube
note
ピンバック: Java #3 演算子って何? – 株式会社クリーブ【欅グループ】採用サイト