第2回独習Javaゼミ 第3章 セクション4~5 発表者 直江 宗紀
3.4 forステートメント(1) ループステートメントの一つ forループには様々なバリエーションがある 一般形式例(単一ステートメント実行時) for(initialization; test; increment) statement ; initialization :ループ制御変数の初期化 test :ループ制御変数と目標値の比較 increment :ループ制御変数を一定量増減
3.4 forステートメント(2) 複数のステートメントを実行させたい場合 →コードブロック「{~}」により囲う 例(1~9までの和と積を求めるプログラム) int Sum=0,Prod=0 ; for(int i=1; i<10; i++){ Sum += i ; Prod *= i ; }
3.4 forステートメント(3) forの一般形式例のincrementの部分は増減が 1刻みでなくても構わない。 例(10刻みで100までカウントするプログラム) for(int i=0; i<=100; i+=10) System.out.print(i+” ”) ; System.out.println(””) ;
3.5 インクリメント演算子と デクリメント演算子(1) 3.5 インクリメント演算子と デクリメント演算子(1) forステートメントなどのループ処理におけるループ制御変数の記述を簡単にできないか →インクリメント演算子、デクリメント演算子を使う インクリメント、デクリメントとは? 「increment:増加」、「decrement:減少」 英語の通り、変数値を1ずつ増減させる演算子 i=i+1 → i++ (左の式と同じ意味を持つ) i=i-1 → i-- (左の式と同じ意味を持つ)
3.5 インクリメント演算子と デクリメント演算子(2) 3.5 インクリメント演算子と デクリメント演算子(2) 演算子を変数の前に置くか後ろに置くかで 処理が変わる。 ++i 式の実行前にインクリメントを行う。 i++ 式の実行後にインクリメントを行う。
3.5 インクリメント演算子と デクリメント演算子(3) 3.5 インクリメント演算子と デクリメント演算子(3) 変数の前に書くことを前置、変数の後ろに書くことを後置と呼ぶ。 前置、後置の時の違いについてのプログラム例 int i=10,j=0 ; j = ++i ; //iが計算されてからjに代入 System.out.println(”j:i=”+j+”:”+i) ; //11:11 i=10,j=0 ; j = i++ ; //jに代入されてからiを計算 System.out.println(”j:i=”+j+”:”+i) ; //10:11
練習問題 コマンドラインにより1つのint型引数を受け取り、 その引数の数値までの総和を求めるプログラムを作成せよ。ただし、結果がint型で表現できる数値の範囲内までとする。 コマンドラインにより1つのint型引数を受け取り、 その引数の数値の持つ因数をすべて出力するプログラムを作成せよ。 (ただし、以上の問において作成されるプログラムでは、インクリメント演算子、デクリメント演算子が使用可の場合はそれらで表現することとする)