ユーザー操作によって発生した情報、Javaソースコードの条件分岐
Javaソースコードのif文に指定する条件は、どんな情報でしょうか?
Javaソースコードのif文に指定する条件は、一般的に、ユーザー操作によって発生した情報です。
例えば、マウスをクリックしたという情報があります。
Javaソースコードでif文を書くことは、ユーザー操作に対応した処理を実行させることになります。
ユーザー操作によって発生した情報、Javaソースコードのif文に指定する条件
if文に指定する条件は、通常、ユーザー操作によって発生した情報です。
ユーザー操作によって生み出された情報には、次のようなものがあります。
ユーザーのマウス操作によって、生み出された情報
例:
- マウスをクリックした、という情報(クリックイベント)。
- マウスを動かした、という情報(マウス移動イベント)。
キーボード操作によって、生み出された情報
例:
- aキーなど、キーボードが押下された、という情報(キー押下イベント)。
- a文字など、キーボードから入力された文字。
※近年では、ユーザーがディスプレイ画面をタッチした、という情報(例えばタッチイベント)もあります(2017年当時)。
プログラム実行時に作成された情報、if文に指定する条件
このようにif文に指定する条件は、プログラム実行時に作成された情報です。
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月当時の記事になります。