第2回独習Javaゼミ

第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)

forステートメントなどのループ処理におけるルー
プ制御変数の記述を簡単にできないか
→インクリメント演算子、デクリメント演算子を使う

インクリメント、デクリメントとは?
「increment:増加」、「decrement:減少」
英語の通り、変数値を1ずつ増減させる演算子
i=i+1
→
i++ (左の式と同じ意味を持つ)
i=i-1
→
i-- (左の式と同じ意味を持つ)
3.5 インクリメント演算子と
デクリメント演算子(2)

演算子を変数の前に置くか後ろに置くかで
処理が変わる。

++i


式の実行前にインクリメントを行う。
i++

式の実行後にインクリメントを行う。
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.コマンドラインにより1つのint型引数を受け取り、
その引数の数値までの総和を求めるプログラムを
作成せよ。ただし、結果がint型で表現できる数値
の範囲内までとする。
2.コマンドラインにより1つのint型引数を受け取り、
その引数の数値の持つ因数をすべて出力するプ
ログラムを作成せよ。
(ただし、以上の問において作成されるプログラム
では、インクリメント演算子、デクリメント演算子が
使用可の場合はそれらで表現することとする)