if-else文
6.3 if-else文
前節では「もし○○○ならば、×××する」という単純な条件分岐を処理する「if文」について解説しました。
本項ではそれを少し発展させ、「もし○○○ならば、×××する。そうでなければ△△△する」という条件分岐を処理するif-else(エルス)文について解説します。
6.3.1 if-else文の基本構文
if – else文の基本構文は下記のようになります。
書式:if-else基本構文
if( 条件式 ){
処理①
}else {
処理②
}
この場合は、もし条件式が合っていたら、処理①を行い、合っていなければ処理②を行う、ということになります。
if-else文の処理の流れをフローチャートにすると、図 6.3.1のようになります。
図6.3.1 if-else基本構文の処理フロー
◉ポイント・ 二者選択のような処理を行う場合、if-else文を使う。
6.3.2 if-else文を使って文字列比較を行うプログラム
キーボードからの入力値に応じて、if-else文の各ブロック内のメッセージが出力されることを確認します。
① ソース・フォルダー :myproj_super_intro/src
② パッケージ :jp.co.f1.superintro.ch06
③ 名前 :IfElseStatement
④ 作成するメソッド・スタブの選択:public static void main(String[] args) にチェックを入れる
➢ IfElseStatement.java
package jp.co.f1.superintro.ch06; import java.util.Scanner; public class IfElseStatement { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("「y」を入力 > "); String str = sc.nextLine(); if(str.equals("y")){ System.out.println("「"+str+"」が正しく入力されました。"); }else{ System.out.println("y以外の「"+str+"」が入力されました。"); } } }
実行結果
解説
8行目では、キーボード入力を行う準備を行っています。
10、11行目では画面に文字列を表示し、キーボードからの文字入力を促しています。(入力値は変数strに代入)
13~17行目がif-else文の処理になります。13行目のif文の条件式で、変数strの値が「y」であるかを確認しyであれば14行目の処理が実行されます。そうではないy以外が入力された場合、16行目の処理が実行されるようになっています。
このサンプルプログラムのフローチャートは図 6.3.2に示します。
図 6.3.2 IfElseStatementのフローチャート