明解Java入門編 第3章まとめ
if文
ある条件が成立するかどうかによって、行うべき処理を選択的に決定する。
if-then文
構文:if(式)文
式の値を調べてその値がtrueのときのみ文を実行する。falseのときは何も表示されない。
ある条件が成立したときのみ行うべきことがある場合使う。
()内に書かれた条件判定式を制御式と呼ぶ。
trueとfalseは論理値リテラルと呼ばれる論理型のリテラルである。
関係演算子
「 > 」のようにオペランドの大小関係を判定する演算子のこと。
x < y xがyより小さければtrue,そうでなければfalse
x > y xがyより大きければtrue,そうでなければfalse
x <= y xがyより小さいか等しければtrue,そうでなければfalse
X >= y xがyより大きいか等しければtrue,そうでなければfalse
関係演算子は2項演算子である。
1 <= a <= 3 という記述はできない
a >= 1 && a <= 3 というように記述する
if-then-else文
構文:if(式)文 else 文
制御式の値がtrueであれば先頭側の文を、falseであれば末尾の文を実行する。
条件の真偽によって異なる処理を行う場合if-then-else文を使う。
等価演算子
「==」と「!=」のこと。
x == y xとyが等しければtrue,そうでなければfalse
X != y xとyが等しくなければtrue,そうでなければfalse
等価演算子は2項演算子である。
a == b == c という記述はできない
a == b && b == c というように記述する
論理補数演算子
単項演算子「!」のこと。
!x xがfalseであればtrue,そうでなければfalse
入れ子となったif文
elseが制御する文はif文であっても良い。
例)
if()
文
else
if()
else
文
式
変数・リテラル・変数やリテラルを結合したもの。
〜演算子によって結合された式は〜式という。(代入演算子では代入式)
評価
式の値を調べること
式文
式に「;」をつけた文。
「;」だけでも文とみなされる(空文)
if文の条件()の後ろに誤って空文を置かないように。
論理積演算子&&
x && y:xとyがともにtrueであればtrue,そうでなければfalse(xかつy)
xを評価した値がfalseであればyの評価をしない。
論理和演算子||
x || y:xとyの一方でもtrueであればtrue,そうでなければfalse(xまたはy *どちらか一方でもという意味になる)
xを評価した値がtrueであればyの評価をしない。
論理演算の式全体の評価結果が左オペランドの評価結果のみで明確になる場合に、右オペランドが評価されないことを短絡評価という。
条件演算子
xがtrueであればyを評価した値を,そうでなければzを評価した値を生成する。
x ? y : z
アルゴリズム
処理の流れを定義したもの。
JISX0001では「問題を解くためのものであって、明確に定義され、順序付けられた有限個の規則からなる集合」と定義されている。
ブロック
文の並びを{}で囲んだもの。
{}の中の文の個数は任意。
単一の文が要求される箇所で複数の文を実行せねばならない場合に使う。
ブロック内でのみ利用する変数はそのブロック内で宣言する。
switch文
プログラムの流れを一度に複数に分岐できる。
()で囲まれた制御式は整数型でなくてはならない。
ラベル
プログラムの飛び先を示す目印
異なるラベルが同じ値をもつことは許されない。
値は定数でなければならず変数は許されない。
break文
プログラムのながれがswitch文から抜け出す。
最後のケース部の末尾にもbreakをつける。
defaultラベル
どのラベルとも一致しないときの飛び先を表す。
選択文
if文とswitch文のことを選択文という。
単一の式の値によるプログラムの流れの分岐はswitch文を利用した方が全体の見通しが良いため読みやすくなる。
キーワード
ifやelseといった語句には特別な意味が与えられている(キーワード)。
プログラム作成者が変数などの名前として利用することはできない。
区切り子(分離子とも)
キーワードは一種の単語のようなもので、単語を区切るために使われる記号が区切り子。
{},:.などがある。
識別子
変数、ラベル、メソッド、クラスなどに与えられる名前。
1文字目は文字($と_を含む)2文字目以降は文字、数字を含む($と_を含む)
漢字文字も含まれる(オススメはしない)
リテラル
プログラムを構成する要素のひとつ。
代入式の評価
代入式を評価すると代入後の左オペランドの型と値が得られる。