繰り返しの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] ...

となるだけで

ほとんど困らないと思います

 

 

複雑なプログラムほど

具体的に考える習慣を

つけていってくださいね!