私は
繰り返しのforやwhileが
とても苦手でした
i番目というのが
理解しにくかったのです
5回繰り返す時は
どう書くんだっけ?
配列で使いたいんだけど
どうすればいいんだっけ?
whileが無限ループし始めた・・・
などなど、自分が何しているか
わからなくなることも
何度もありました
さらに、訳のわからない
エラーがよく出てくるのです
ArrayIndexOutOfBoundsException
これを何度も目にしました
(まだ見たことがないあなたは
幸せなのかもしれません)
正直、繰り返し処理は
常識的なレベルでよく使うので
繰り返し処理ができない人間は
使い物になりません
検索結果の表示なども、
結果数を繰り返して表示してます
細かいアルゴリズムは
わかりませんが
TwitterやLineでも
使われているでしょう
つまり、本格的な
プログラムを組むことが
できないということです
残された仕事は
プロジェクトメンバーの
報告業務の代行、
書類整理や事務処理くらいでしょうか
このままでは
絶対に居場所を失う
そう感じた私は
必死に解決策を編み出しました
「繰り返し」の根本は・・・
なぜ、私が
繰り返し処理が
苦手だったのか
それは、今回も
難しく考えすぎなことでした
根本的な部分を理解せず
forやwhileが出てくると
身構えてしまっていたのです
ちゃんと順序だてて
考えれば
5分もかからずに
サラッと理解できる
そんな簡単な機能でした
それもそうです
プログラマーは全員
この道を通っているのですから
i 番目で考えるな
繰り返しを簡単に把握する方法
それは
『具体的に考える』
これに尽きます
つまり
i 番目ではなく2番目
などで考えるのです
まだ慣れていない人ほど
i が1の時の処理
i が2の時の処理
i が3の時の処理
と具体的に考えてください
プログラムを読む時は
これで納得できるようになります
プログラムを作る時は
数字の代わりに
i を入れればいいのです
「繰り返し」といえど
実現したいプログラムは
具体的なものを
抽象化しただけにすぎません
今でも、私は
よくわからなくなると
具体的に考える癖がついています
「具体的に考える」方法を身につけ
繰り返しに慣れていきましょう!
具体的に考える
ブログを読み終わったら
簡単に↓のプログラムを見てみてください
int[] a = {5,1,8,3};for (int i = 0;i < a.length ;i++ ) {System.out.println(a[i]);}
これを具体的に考える
トレーニングとして使ってみてください
今回は
a[1] , a[2] ...
となるだけで
ほとんど困らないと思います
複雑なプログラムほど
具体的に考える習慣を
つけていってくださいね!