明解Java入門編 第4章まとめ

do文

式を評価した値がtrueである限り文を繰り返し実行する。
構文図:do 文 while (式);
do文が繰り返す文のことをループ本体と呼ぶ(この本では)

while文

式を評価した値がtrueである限り文を繰り返し実行する。
構文図:while (式) 文

増分演算子

変数の値をひとつ増やす(インクリメント)演算子++。

減分演算子

変数の値をひとつ減らす(デクリメント)演算子--。

後置増分演算子

x++:xの値をインクリメントする。生成するのは増加前の値。
例) xの値が5のときy= x++;
yに代入されるのは5
代入完了後の値は6
これは後置減分演算子も同じ
  

後置減分演算子

x--:xの値をデクリメントする。生成するのは減少前の値。
  後置という名前はオペランドの後ろに演算子を適用することに由来する。

前置増分演算子

++x:xの値をインクリメントする。生成するのは増加後の値。
例) xの値が5のとき y= ++x;
yに代入されるのは6
代入完了後の値も6
これは前置減分演算子も同じ

前置減分演算子

--x:xの値をデクリメントする。生成するのは減少後の値。

式の評価順序

2項演算子の左オペランドは右オペランドよりも先に評価される。

式の値の切り捨て

演算結果は使わずに切り捨てできる。

文字リテラル

単一引用符'で囲んだ式。
文字リテラル'*':単一の文字*を表す。型はchar。
文字列リテラル"*":文字*だけから構成される文字のならびを表す。型はString。

while文とdo文

do文のループ本体は必ず一回は実行されるがwhile文のループ本体は1回も実行されない可能性がある。

do文

後判定繰返し:ループ本体を実行した後に判定を行う

while文

前判定繰返し:ループ本体を実行する前に判定を行う

whileというキーワードを使うのは共通なため、do文のループ本体はたとえ単一文であっても{}で囲んでブロックにし読みやすくする。

複合代入演算子

*=,/=,%=,+=,-=,<<=,>>=,>>>=,&=,^=,|= など
演算と代入というふたつの働きを持つ。

メリット

行うべき演算を簡潔に表せる。
左辺の変数名を書くのが一回で済む。
左辺の評価が一回限りである。

for文

定型的な繰返しの制御をwhile文より簡潔に実現できる。
構文図:for(for初期化部;式;for更新部)文

for初期化部

変数の宣言を置くことができる(宣言する変数はそのfor文の中でのみ使用可。for文ごとに宣言が必要)。
複数の変数を定義する場合「,」で区切る。
必要なければ省略もできる。

省略した場合繰返し継続の判定は常にtrue。
breakやreturn文を実行しない限り無限ループになる。

for更新部

複数の式を「,」で区切って置ける。省略もできる。

繰返し文

do,while,for文をあわせて繰返し文という。
今回のfor文は基本for文という。

多重ループ

繰返し文のループ本体を繰返し文にすると二重、三重の繰返しを行うことができる。

break文

繰返し文を強制的に中断、終了させる。

continue文

ループ本体の残り部分がすっ飛ばされてプログラムの流れはループ本体の末尾へ一気に飛ぶ。

do文とwhile文のとき

continue文の後ろに置かれている文2の実行がスキップされ繰返しをするかどうかの判定をする式の評価が行われる。

for文のとき

continue文の後ろに置かれている文2の実行がスキップされ次の繰返し準備のための更新部が評価・実行されてから式の評価が行われる。

ラベル付きbreak文・continue文

多重ループの実行中に外側の繰返しを一気に抜け出たり、強制的に繰返しを続けたい場合、ラベル付きbreak文やラベル付きcontinue文を使う。
構文図:ラベル付き文→識別子→:文

break文とcontinue文

break文とcontinue文は全部で4つ(ラベル付き、なし)。
continue文はラベルありなしのいずれも繰返し文の中でのみ利用可。
break文はラベルなしのとき、switch文と繰返し文の中でのみ利用可。
ラベル付きの場合ラベル付き文の中であれば利用可。

printfメソッド

基数や桁数などの書式を制御して画面への表示を行う。

書式文字列

%d:10進数で出力
%o:8進数で出力
%x:16進数で出力(a~fは小文字)
%X:16進数で出力(A~Fは大文字)
%c:文字として出力
%f:小数点形式で出力
%s:文字列で出力

%を文字として出力したい場合%%と表記する必要がある。