初心者がプログラミングを学ぶときに抑えるべきポイント(2)

プログラミング、サーバー、ネットワーク、IT用語、ハマったときのトラブルシューティングなど様々なIT関連の話題をひたすら書いていく技術ブログです。

2017年2月7日火曜日

初心者がプログラミングを学ぶときに抑えるべきポイント(2)


前回に引き続き、初心者がプログラミングを学ぶときに、どのプログラミング言語でも抑えるべきポイントを紹介します。初心者がプログラミングを学ぶときに抑えるべきポイント(1)はこちら

配列(array)

配列とはあるまとまったデータをまとめて代入して、プログラムで必要になったら取り出せるようにしておくデータ構造です。前回紹介した変数の中に部屋番号が書いてあり、それぞれの部屋にデータを保存しておき、後ほど取り出すようなイメージです。配列の宣言(これは配列として扱いますよと明示的に書くこと)の仕方はプログラミング言語で違うのですが、Javaでは下記のように書きます(Javaでは下記以外でもいくつか書き方があります)。



配列aは以下のようなイメージです。


配列aの中に番号が振ってあり(0,1,2)、そのそれぞれの番号の部屋にはそれぞれデータ(100,300,500)が入っているイメージです。配列の番号の特徴は0から始まることです。これはどのプログラミング言語でも同じです。

配列の中身を取り出すにはa[2]のようにします。配列宣言の直後に書いて表示してみましょう。500が表示されます。



先程のプログラムに戻ります。5行目から7行目はfor文というループ処理で詳しいことはこの後説明しますが、配列の中身を0から順に全て取り出して表示しています。配列はこのように複数のデータをまとめることができます。よく使われる例としてはデータベースからデータを取り出したときに、配列形式でデータが返されて、それを使って様々データを表示することが多いです。

ループ

プログラミングを学んでいるとどの言語でもループという概念を学ぶこととなります。こちらも前回の記事で紹介したif文同様に必ずと言ってよいほど、プログラミングをすると使うこととなる概念です。

for文

下記は先程配列で出てきたプログラムと同じです。



配列部分はここでは省略して、for文の5行目〜7行目に説明を絞ります。for文は条件を満たす限り繰り返し処理が行われます。まずint i = 0に注目しましょう。変数iに初期値として0を代入しています。なのでiは0です。

そして処理の流れはi < a.lengthに移ります。ここでは処理が続くかどうか判定しています。trueであれば続き、falseであればループ(for文)が終了します。iは今0なので0 < a.lengthとなります。そしてaは配列です。.lengthは配列の長さを返します。配列は0番目と1番目と2番目があるので、配列の長さは3となります。0 < 3は成立するので処理は続きます。

そのままfor文の{}の間に処理が移ります(6行目)。ここでは配列を表示しようとしていて、表示する内容はa[i]です。だいたい想像は付くと思いますが、この場合はiが0なのでa[0]ということになります。よって配列の0番目に入っているデータが表示されます。この場合は100です。 表示したらfor文の{}の処理は終わりです。

そして処理はi++の部分に続きます。これはiに+1をする処理です。インクリメント(increment)と呼びます(<a href="/2017/02/3.html">インクリメントはこちらの記事で説明しています</a>)。+1するのでiは1となります。そして再び条件式(i < a.length)へと処理が移り、1 < 3なのでtrueとなり、再びfor文の{}の中に処理が移ります。

{}の中は処理は先程と一緒ですが、1点違うのはiが1になっていることです。表示される配列はa[1]となるのでこの場合300となります。そして処理はまたi++(iが2となる)、2 < 3(i < a.lengthの条件式の部分)となりtrueで成立、for文実行、再度i++でiが3となります。 iが3となると条件式の部分で3 < 3は成立しないのでfalseとなりforループは終了します。

ここで注意したいのはforループの中で設定した変数iはこのforループの中だけで有効なので、forループを抜けたらiは使えません(初心者がプログラミングを学ぶときに抑えるべきポイント(1)の変数のパートで紹介した変数のスコープの話です)。 for文は配列の中身を取り出す時や、同じ処理を繰り返す時に便利です。

書き方は違いますが、このループの概念はどのプログラミング言語でもあります。Javaの場合ループ文はwhileのループもありますが、ループ概念はforと同じで条件が成立しなくなるまでループを繰り返します。

○初心者がプログラミングを学ぶときに抑えるべきポイント(3)はこちら
○このシリーズの一覧はこちら



最近の投稿