条件分岐・Javaソースコードの書き方

if文に指定する条件

if文に指定する条件は、通常、ユーザの操作によって生み出された情報です。ユーザの操作によって生み出された情報には、次のような事があると思います。クリック操作

  • ユーザのマウス操作によって、生み出された情報。
    例:
    マウスをクリックした、という情報(クリックイベント)
    マウスを動かした、という情報(マウス移動イベント)
    など。
  • キーボード操作によって、生み出された情報。
    例:
    aキーなど、キーボードが押下された、という情報(キー押下イベント)
    a文字など、キーボードから入力された文字
    など。

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

このように 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”)などが、ユーザの操作によって生み出された情報を指定している部分です。

例えば”forward”という文字列は、ブラウザに表示されているWebページにて、ユーザがマウスで「進む」リンク項目をクリックしたことが「きっかけ」で、作成された文字列です。
上記の例は、if文の条件に、ユーザのマウスクリック操作が「きっかけ」で作成された文字列を、指定しています。よって適切に、if文を使用している例だと思います。

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

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

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

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

コンピューター
この記事をシェアする

グッズ・メモランダム