広告
↓発売日:2017年04月04日↓
Java 第2版 入門編 ゼロからはじめるプログラミング (プログラミング学習シリーズ) 新品価格 |
プログラムの基本は
(1)上から順番に
(2)条件で分かれ道
(3)繰り返し
でしたね!
今回から最後の(3)くり返しをやっていきます!
本格的なプログラミングの始まりですね!
くり返し命令を誤って使うと無限ループ(ずっとくり返しでプログラムが止まらない状態)などに入ってコンピューターに負担をかけてしまう場合があるのできちんと理解して使いましょう!
通常の無限ループの場合は「ctrl + c」キーを押せば止まります。もしこれで止まらない場合はウィンドウ右上の「×」マークなどで無理やり止める事になります。
これでも止まらない時は近くの詳しい人に聞きましょう!
/*十日目 プログラム1*/ class Test{ public static void main(String args[]){ int suji; for(suji = 0;suji < 10;suji = suji + 1){ System.out.print(suji); System.out.print(" "); } System.out.print("\n"); } }
「for」命令でくり返し条件を決めて、{}カッコ内をくり返します。
そして変数「suji」の内容を「System.out.print」命令で表示しております。
まずくり返し用の変数「suji」を用意します。そして「for」命令の登場です!
for( 初期化 ; 条件 ; 進み方 ) for(suji = 0;suji < 10;suji = suji + 1)
こちらを一つずつ見ていきましょう。
suji = 0
ここで最初の数を決めます。
suji < 10
次に条件を決めます。この場合は「変数「suji」が「10」より小さい間」という意味ですね!
変数「suji」が「10」になるとその時点でくり返しをやめるので実行結果が「9」で終わってますね。
ここを「suji <= 10」とすると実行結果の最後は「10」になります。
「if」命令の時に学んだ「suji <= 10」→「10を含む(ふくむ)」・「suji < 10」→「10を含まない(ふくまない)」を注意しましょう!
suji = suji + 1
最後に進み方を決めます。この場合はくり返すたびに変数「suji」に「+1」されますね!
ここを「suji = suji + 2」とするとくり返すたびに変数「suji」が「+2」されるので結果は
0 2 4 6 8
のようになります。
くり返しの条件などをいろいろ変えて試してみましょう!
suji = suji + 1;
さきほど登場したこちらの文は
suji++;
と書き換えられます。これを「インクリメント」といいます。同じく
suji = suji - 1;
だった場合は
suji--;
と書き換えられます。こちらは「デクリメント」といいます。
よく使う書き方なので覚えましょう!
他にこんな書き方もできます。
suji = suji + 100;
↓
suji += 100;
や
suji = suji - 100;
↓
suji -= 100;
など。
同じように「*=,/=,%=」などなど。
慣れてきたら使ってみましょう!
広告
くり返し命令を制するものはプログラミングを制する!と言われるほどくり返しは大事なのでたくさん練習してレベルアップしましょう!
/*十日目 プログラム2*/ class Test{ public static void main(String args[]){ for(int kaisu = 0;kaisu < 5;kaisu++){ System.out.print("おはよう\n"); } } }
まずはキホンですね!「kaisu」が「0~4」までくり返しして「5」でくり返しをやめます。最初の「0」から始まるので「0,1,2,3,4」と5回分くり返す事になります。
あとくり返す為だけに使われる場合は
for(int kaisu = 0;kaisu < 5;kaisu++)
この「for」命令の中で変数を宣言しても大丈夫です。
この場合は「for」命令が終わったらこの変数は使い捨てになるので、次また使いたくなった時は
for(int kaisu = 0;kaisu < 5;kaisu++){ } /*なんかプログラム*/ for(int kaisu = 0;kaisu < 5;kaisu++){ }
このように再び使っても大丈夫です。
※「くり返す為だけにしか使われないような場合」という意味で、くり返す為だけにしか使ってはいけないという意味ではないです!
「10」までカウントして「3」の倍数がきたら「おいっす!」と叫んでみましょう!
/*十日目 プログラム3*/ class Test{ public static void main(String args[]){ for(int kaisu = 0;kaisu <= 10;kaisu++){ System.out.print(kaisu); System.out.print(" "); if(kaisu == 3)System.out.print("おいっす!\n"); if(kaisu == 6)System.out.print("おいっす!\n"); if(kaisu == 9)System.out.print("おいっす!\n"); } System.out.print("\n"); } }
くり返しをしている途中で「if」命令の条件が合えば「おいっす!」と表示します。
「10」までのカウントなので「for」命令の条件が「suji <= 10」となってますね!
くり返しを想像しながらプログラムを作りましょう!
/*十日目 プログラム4*/ class Test{ public static void main(String args[]){ int suji,suji2; suji2 = 4; for(suji = 0;suji < 5;suji++){ System.out.print("suji = " + suji + ":suji2 = " + suji2 + "\n"); suji2--; } } }
くり返し中一緒に他の変数「suji2」も変化させています。
「for」命令に入る前に「suji2」を初期化して、くり返すたびに「suji2--」しています。
ではくり返し命令の定番プログラム
「1 + 2 + 3 + 4 + 5 ~ 98 + 99 + 100」
と順番に足していく「100まで計算」プログラムを作ってみましょう!
/*十日目 プログラム5*/ class Test{ public static void main(String args[]){ int suji; int goukei = 0; for(suji = 0;suji <=100;suji++){ goukei = goukei + suji; } System.out.print("「100まで計算」答えは" + goukei + "です!\n"); } }
合計を入れる為の変数「goukei」にひたすら増加し続ける変数「suji」を足し合わせております。
くり返し0回目 goukei(0) = goukei(0) + suji(0)
くり返し1回目 goukei(1) = goukei(0) + suji(1)
くり返し2回目 goukei(3) = goukei(1) + suji(2)
くり返し3回目 goukei(6) = goukei(3) + suji(3)
くり返し4回目 goukei(10) = goukei(6) + suji(4)
くり返し5回目 goukei(15) = goukei(10) + suji(5)
カッコの中身がその時の値です。
くり返しの動きを一回一回止めながらみていくプログラムです。一回一回何かキーを押してください。
/*十日目 プログラム6*/ import java.io.*; class Test{ public static void main(String args[]){ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int suji; int goukei = 0; for(suji = 0;suji <=10;suji++){ goukei = goukei + suji; System.out.print("goukei = " + goukei); try{ br.readLine(); } catch(IOException e){} } System.out.print("\n合計は" + goukei + "です!\n"); } }
このように動きを追う作業の事をプログラムの動きをなぞっていくというような意味で「トレース」といいます。
最初なれないウチはこの「トレース」をきちんと行って中の変数の動きなどをしっかり追っていく事をオススメします!
頭の中で想像するだけだとちょっとツライですもんね!
使い方は入力の時のようにプログラムの先頭に
import java.io.*;
こちらと「public static void main(String args[])」の後に
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
こちらを追加、後はプログラムを一時停止したい部分に
try{ br.readLine(); } catch(IOException e){}
こちらを書けば実行時にそこで一時停止してくれます。
ちゃんとしたこの命令の使い方とは少し違いますが、便利なので使ってみてください!
次回はもう一つのくり返し「while」命令を紹介したいと思います。
どこまでくり返せばいいのかわからないけどくり返したい時や、途中でくり返しを抜ける方法などについても説明しておりますので今回の「for」命令と合わせてご覧ください。
広告
↓発売日:2017年04月18日↓
Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで 新品価格 |
↓発売日:2016年06月25日↓
新品価格 |
↓発売日:2016年08月31日↓
新品価格 |
↓発売日:2018年11月21日↓
新品価格 |
↓発売日:2016年12月15日↓
新品価格 |
↓発売日:2016年09月28日↓
新品価格 |