カテゴリー
Java

for文の入れ子について知ろう

この章ではfor文の入れ子について学習します。
入れ子とはfor文の中にfor文がある構造です。1 では上の例の説明します。
〇 iに1を代入します。

〇「i<=3」の条件式を判定します。
ここがTRUEであるならば、1 が3回実行されて
1掛ける1=1
1掛ける2=2
1掛ける3=3
と出力されます。
つまり、外側のfor文が1周するごとに中のfor文は3周します。11
〇次にi++に戻りiに1を足します。
ここでiは2になります。

〇そして条件式の判定に入りますが、まだiは2なのでTRUEということになり、1 が3回実行されて
2掛ける1=2
2掛ける2=4
2掛ける3=6
と出力されます。

〇次にi++に戻りiに1を足します。
ここでiは3になります。

〇そして条件式の判定に入りますが、まだiは3なので,TRUEということになり、1 が3回実行されて
3掛ける1=3
3掛ける2=6
3掛ける3=9
と出力されます。

〇次にi++に戻りiに1を足します。
ここでiは4になります。

〇そして条件式の判定に入りますが、iは4で3以下ではないのでFALSEとなり、ここでループは終わりになります。1

次はfor文を使って配列のデータを取り出す方法について説明します。
初めにfor文を使わない例をみてみましょう。1 この例のように今までは1 のように1つ1つデータを足していましたが、for文を使うと以下のように簡潔に書くことが出来ます。11 「配列名.length」という構文で配列の要素数を取得出来ます。
この例の要素数は3ですので、その要素数の分だけfor文でデータを取り出します。
goukei +=test[i];を書き換えると1と同じ意味になります。
for文の流れは以下の通りです。
1周目はtest[i]のiには0が入るので、1となり、goukeiに22が代入されます。

2周目はtest[i]のiには1が入るので、1となり、goukeiに45が代入されます。

3周目はtest[i]のiには2が入るので、1となり、goukeiに79が代入されます。
ここで、注意してほしいことがあります。
goukei変数はfor文の外で宣言していますが、i変数はfor文の中で宣言しています。
この違いはブロック内で宣言した変数はブロック内でしか使うことは出来ませんが、外で宣言した変数はfor文の外でも使用することが出来ます。
つまり、以下のようにブロックの中で宣言しているiのような変数は次の例のようにfor文の外で出力することは出来ません。1

次の例は先ほどのfor文の例を書き替えています。11 先ほどの例のfor文は以下の通りです。1 このfor文を書き替えると以下のようになります。1 基本構文は次の通りです。1 図式化しますと以下の通りですが、配列testに入っている要素が順番に変数iに代入されていきます。1 次は2次元配列のデータをfor文で取り出す方法について説明します。11 結果は次の通りです。
1 2 12 3 4 23 5 6 62 7 8 83
2次元配列のデータを取り出すためにはfor文の入れ子を使用します。1 「number.length」では2次元配列の配列数である4を、1ではそれぞれの配列の中に入っている要素数である3を取得できます。
1という形式で各配列に入っている要素の数を取得できます。1111 つまり、外側のfor文が1回ループするごとに、中のfor文は3回転しています。
次の例は2次元配列のすべての値の足し算をしています。111111 結果は「154」になります。
次はある配列を別の配列にコピーする方法について説明します。1 では説明をしていきます。1 =>これが元の配列です。

1 =>そして、aの配列と同じサイズの配列bをもう一つ作ります。
サイズは1で得ることが出来ます。

そして下のfor文を使って1のデータを1にコピーします。1 最後にfor文で1の内容を出力します。11

カテゴリー
C言語

for文を入れ子にしよう

この章ではfor文の応用でfor文の入れ子について説明します。
つまりfor文の中にfor文が入っている形式です。
では例をみてみましょう。11
for文のネストは複雑なので順を追って説明します。11 ここがTRUEなので1 が3回実行されて
1掛ける1=1
1掛ける2=2
1掛ける3=3
が出力されます。
つまり、外側のfor文が1周するごとに内側のfor文は3周します。111 上の3番でiは2になりましたが、まだTRUEですので、1 が3回実行されて      
2掛ける1=2
2掛ける2=4
2掛ける3=6
が出力されます。
11上の5番でiは3になりましたが、まだTRUEですので、1 が3回実行されて 
3掛ける1=3
3掛ける2=6
3掛ける3=9
が出力されます。
11まとめますと、この例では外側のfor文が1周するごとに中のfor文は3周しています。
これがfor文の入れ子です。1

カテゴリー
C言語

2次元配列を知ろう

この章では2次元配列について説明します。
2次元配列は配列を入れ子にすることで表現します。
つまり、配列の中に配列が入っていることを意味します。
2次元配列とは以下のように行と列の2次元で考える配列です。
詳しい説明は例の後に行います。1 では例をみてみましょう。111 結果は以下の通りです。1 2次元配列の構文は以下のようになります。1111111 ではさらに詳しく説明します。111111111111

カテゴリー
PHP

for文を入れ子にしよう

この章ではfor文の応用でfor文のネストについて説明します。
ネストとはfor文の中にfor文を入れると言うことです。
では例をみてみましょう。1 for文のネストは複雑なので順を追って説明します。
①$iに1を代入します。
②「$i<=3」の条件式を判定しますがここがTRUEなので1 が3回実行されて
1掛ける1=1
1掛ける2=2
1掛ける3=3
と出力されます。
つまり、最初は$iには1が入っているので、print文の中の$iには1が入ります。
1には1から3までが、順番に代入されます。
つまり、外側のfor文が1周するごとに、中のfor文は3周しています。1 ③次に$i++の箇所で$iに1を足し、$iは2になります。
④そして条件式の判定に入りますが、2回目のループではまだ$iは2なのでTRUEということになり、1 が3回実行されて
2掛ける1=2
2掛ける2=4
2掛ける3=6
と出力されます。
⑤次に$i++に戻り$iに1を足します。
そこで$iは3になります。
⑥そして条件式の判定に入りますが、3回目のループではまだ$iは3なので,TRUEということになり、1 が3回実行されて 
3掛ける1=3
3掛ける2=6
3掛ける3=9
と出力されます。
⑦次に$i++に戻り$iに1を足します。
そこで$iは4になります。
⑧そして条件式の判定に入りますが、$iは4で3以下ではないのでFALSEとなり、ここでループは終わりになります。1

カテゴリー
PHP

if文を入れ子にしよう

この章ではif文を入れ子にする方法について説明します。
if文は入れ子にすることが出来ます。
つまり、if文の中にif文を含めることができるということです。
では例をみてみましょう。11 $nameは手塚なので、最初のif文の条件式はTRUEです。
これにより、さらに入れ子の中のif文が実行されます。1 $ageは23で、18を超えていますので1が実行されます。
このようにさらに条件を絞りたい場合にifの入れ子を使用します。
つまり、手塚さんであることは確認しましたが、さらに年齢を確かめたいので質問しますね。
手塚さんは18歳を超えていますか?と言っているのと同じです。

カテゴリー
Perl

for文を入れ子にしよう

この章ではfor文の入れ子について説明します。
for文の応用でfor文の入れ子について説明します。
for文の入れ子とはfor文の中にfor文を入れると言うことです。
では例をみてみましょう。11111つまり、最初は$iには1が入っているので、print文の中の$iには1が入ります。
そして、外側のfor文が1周するごとに中のfor文は3周します。1111111111111

カテゴリー
Perl

if文を入れ子にしよう

この章ではif文を入れ子にする方法について説明します。
if文は入れ子にすることが出来ます。
つまり、if文の中にif文を含めることができるということです。
次のようにif文の中にさらにif文が含まれている構造です。
1$nameは「”手塚”」なので、1はTRUEです。
TRUEによりさらに入れ子の中の次のif文が実行されます。
1$ageは23で、18を超えていますので
1が実行されます。
このように先頭の条件式がTRUEであるならば、さらに条件を絞りたい場合にifの入れ子を使用します。
つまり、この例では「手塚さんであることは確認しましたが、さらに年齢を確かめたいので質問しますね。
手塚さんは18歳を超えていますか?」ということです。