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行目では、キーボード入力を行う準備を行っています。

   8: Scanner sc = new Scanner(System.in);

 10、11行目では画面に文字列を表示し、キーボードからの文字入力を促しています。(入力値は変数strに代入)

   10: System.out.print("「y」を入力 > ");
   11: String str = sc.nextLine();

 13~17行目がif-else文の処理になります。13行目のif文の条件式で、変数strの値が「y」であるかを確認しyであれば14行目の処理が実行されます。そうではないy以外が入力された場合、16行目の処理が実行されるようになっています。

   13: if(str.equals("y")){
   14: System.out.println("「"+str+"」が正しく入力されました。");
   15: }else{
   16: System.out.println("y以外の「"+str+"」が入力されました。");
   17: }

 このサンプルプログラムのフローチャートは図 6.3.2に示します。

図 6.3.2 IfElseStatementのフローチャート

NEXT>> 6.4 if-else if-else文