1
0

More than 1 year has passed since last update.

【JAVA・学習ログ③】制御構文について (分岐•繰り返し)

Last updated at Posted at 2023-08-05

教本に沿ってやってみたシリーズ。
『第3章』突入しました。

≪使用教材≫スッキリわかるJava入門 第3版 スッキリわかるシリーズ

■制御構造(制御フロー)

文を実行させる順番のこと。代表的なものに「順次」「分岐」「繰り返し」がある。

*順次
 上から順に文を実行する。構成は学習ログ①、②参照。

*分岐
 条件により実行する文が変わる。

*繰り返し
 一部の命令を繰り返し実行できる。
スクリーンショット 2023-08-05 005409.png
【実行】
スクリーンショット 2023-08-05 003600.png

上記のような、[条件式]と[ブロック]で成り立つ制御構造を表す文を制御構文という。

* ブロック
複数の文を{}でひとまとまりにしたもの。
書き入れる文が一行であれば省略可能だが、ミス防止の観点から開発現場では好まれないことも多い。

*スコープ
変数が利用可能な範囲。ブロック内で宣言した変数は、そのブロック外では利用できない。

■条件式について

ここで挙げる例は「if(分岐条件)」「while(繰り返しを続ける条件)」の2つ。

*関係演算子
 図内条件式に用いられている「==」といった記号。この場合右辺と左辺が等しいことを示している。
 ※「=」だと代入演算子になってしまう。また、文字列を比較する場合は「equals」を使用する。

*論理演算子
 かつ「&&」、または「||」で2つ以上の条件を提示できる。

*否定演算子
"もし〜でないなら"のような否定形の条件式を作りたいとき。
スクリーンショット 2023-08-05 020723.png

分岐構文

分岐構文には3つのパターンがある。
 ・elseを実行しない「ifのみ」のパターン
 ・基本的な「if-else」パターン
 ・falseのとき、さらに別の条件で分岐する「if-else if-else」パターン
スクリーンショット 2023-08-05 023352.png
【実行】
スクリーンショット 2023-08-05 023920.png
*switch構文
スクリーンショット 2023-08-05 025906.png

下記の条件を満たす場合、何重にも重なる「if-else if-else」は書き換えられる。
条件① 「>」「<」「!=」などが使われていない。
条件② 比較する値が整数、または文字列(文字)。

「break;」 は必須だが書かなくても実行できるやり方もある。ここでは省略。

■繰り返し構文

バリエーションは2パターン。
 ・条件式評価⇒ブロック内実行の基本形「while構文」。falseの場合1度も実行されない。
 ・ブロック内実行⇒条件式評価の「do-while構文」。最低1回は実行をする。
スクリーンショット 2023-08-05 033100.png
【実行】
スクリーンショット 2023-08-05 033344.png

*For文
 回数指定でループを組む文。繰り返したい回数は中央②の式に入れる。
 また①は最初に実行される文(ループ文)、③はブロックの終わりに着いた際に自動的に実行される文。
スクリーンショット 2023-08-05 035054.png

*ループ変数
 何週目のループかを記録しておく変数。ブロック内の表示や計算に使える。

制御構文の応用

  • ネスト
     多重構造のこと。制御構造内にまた別の制御構造を含ませること。

  • 繰り返しを中断をしたいとき
    2種類の中断方法がある。
    ・「break文」上記で使用。繰り返し自体を中断する。
    ・「continue文」指定の周回での実行を中断し、また次の周回で繰り返しを開始することができる。
    スクリーンショット 2023-08-05 091451.png
    スクリーンショット 2023-08-05 091811.png

以上、雑備忘録。

 

 

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0