ユーザー操作によって発生した情報、Javaソースコードの条件分岐

Javaソースコードのif文に指定する条件は、どんな情報でしょうか?

Javaソースコードのif文に指定する条件は、一般的に、ユーザー操作によって発生した情報です。
例えば、マウスをクリックしたという情報があります。

Javaソースコードでif文を書くことは、ユーザー操作に対応した処理を実行させることになります。

ユーザー操作によって発生した情報、Javaソースコードのif文に指定する条件

if文に指定する条件は、通常、ユーザー操作によって発生した情報です。

ユーザー操作によって生み出された情報には、次のようなものがあります。

ユーザーのマウス操作によって、生み出された情報

例:

  • マウスをクリックした、という情報(クリックイベント)。
  • マウスを動かした、という情報(マウス移動イベント)。

キーボード操作によって、生み出された情報

例:

  • aキーなど、キーボードが押下された、という情報(キー押下イベント)。
  • a文字など、キーボードから入力された文字。

※近年では、ユーザーがディスプレイ画面をタッチした、という情報(例えばタッチイベント)もあります(2017年当時)。

プログラム実行時に作成された情報、if文に指定する条件

このようにif文に指定する条件は、プログラム実行時に作成された情報です。

if文に指定する条件として、プログラム記述当時に(コンパイル時に)発生している情報を指定することは、あんまりないと思います。

Javaソースコードでif文を書くことは、プログラム実行時のユーザー操作に対応した処理を実行させることになります。

Javaプログラミングのif文
Javaプログラミングのif文・イメージ画像

if文の条件に、「ユーザー操作によって発生した情報」を指定する例

以下、if文の条件に「ユーザー操作によって発生した情報」を指定している例を、書きます。
なお、プログラムの詳細を理解する必要は、ありません。

public ActionForward perform(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
    ...
    MessageBoardForm boardForm = (MessageBoardForm)form;
    String action = boardForm.getAction();
    if (action.equals("forward")){
        int boardID = boardForm.getBoardID();
        ...
    }
    else if (action.equals("back")){
        int boardID = boardForm.getBoardID();
        ...
    }
    else if (action.equals("write")){
        return mapping.findForward("contributionDo");
    }
    else if (action.equals("message")){
        int boardID = boardForm.getBoardID();
        ...
    }
    else{
        //next 休止中.htmlなど、表示する。
        throw new RuntimeException("invalid action=" + action);
    }
    ...
}

if文のaction.equals("forward")、
action.equals("back")
などが、ユーザ操作によって生み出された情報を指定している部分です。

例えば"forward"という文字列は、ブラウザに表示されているWebページにて、
ユーザがマウスで「進む」リンク項目をクリックしたことが「きっかけ」で、作成された文字列です。

上記の例は、if文の条件に、ユーザのマウスクリック操作が「きっかけ」で作成された文字列"forward"を、指定しています。

よって適切に、if文を使用している例と言えます。

そして、action.equals("back")の"back"文字列は、ユーザがマウスで「戻る」リンク項目をクリックしたことが「きっかけ」で、作成された文字列です。

ユーザー操作によって発生した"back"文字列を、if文の条件に指定しています。

同様に"write"文字列は、ユーザが「投稿する」リンク項目をクリックしたことが「きっかけ」で、作成された文字列です。

"message"文字列は、ユーザが「メッセージの件名」リンク項目をクリックしたことが「きっかけ」で、作成された文字列です。

ユーザー操作によって発生した"write"文字列、"message"文字列を、if文の条件に指定しています。

※ここまでの記事は、2003年6月当時の記事になります。

【まとめ記事】へのリンク

【まとめ記事】Javaアプリの品質を保つため、Javaソースコードを書くための工夫

Javaソースコードを正しく書くための、ちょっとした工夫について、ご紹介しています。 変数の寿命を限定する書き方。 肯定的な条件を優先して条件分岐する書き方。 クラス…