프로그램의 흐름(연산이 진행되는 순서)을 변경하는 구문이다.

우리는 생활 속에서 수많은 선택을 한다. 프로그램도 경우에 따라서 선택을 하여야 하는 경우가 있고, 결국 구문은 분기하게 된다.

조건식은 if(조건식), 스코프({ }), 처리 로직으로 이루어진다.

image006001_수정.jpg

조건식의 결과는 boolean타입이다.

될 수 있으면 If( (a&&b) || (b&&c)) 로 복합적으로만들어야 한다.

image004001001002.jpg

분기문은 if 조건식에 맞는 경우 스코프의 로직을 실행하며, 맞지 않으면 스코프를 빠져 나간다.

한줄 조건 명령의 경우에만 { }(스코프) 가 없으면 해당 라인과 그 다음 라인까지만 실행 된다.

if~else

else 오른쪽에는 조건식이 없다.

image006002_수정.jpg

package com.java.control.ifelse;

public class Ifelse01 {

	public static void main(String[] args) {
		// 제어문 > 조건문
		int a=3;
		int b=4;
		int c=5;
		
		if(a>b) System.out.println("a는 b 보다 크다");
		if(a==b) System.out.println("a와 b는 같다 ");
		
		//a가 짝수면 a는 짝수다
		//그게 아니면 a는 홀수 이다.
		//2,4,6,8
		if(a%2==0) System.out.println("a는 짝수이다.");
		else System.out.println("a는 홀수 이다.");
		
		
		//괄호가 없으면 조건식의 실행문은 한줄만 실행된다.
		if(false) {
			
//			System.out.println("정답입니다.");
//		    System.out.println("오답입니다.");
		}
		
		if(false)
			System.out.println("정답입니다.");
		
		    System.out.println("오답입니다.");
		
	}

}

package com.java.control.ifelse;

import java.util.Scanner;

public class Ifelse02 {

	public static void main(String[] args) {
		// 성인 인증 (18세 이상)
		// 나이를 입력받고 미성년이면 출입불허하는 문장을 출력하시오.

		int age = 0;

		Scanner scan = new Scanner(System.in);

		System.out.println("나이를 입력하세요");
		age = scan.nextInt();

		if (age >= 18)
			System.out.println("반갑습니다.회원 가입축하합니다.");
		else
			System.out.println("미성년자는 회원 가입할 수 없습니다.");

	}

}

package com.java.control.ifelse;

import java.util.Scanner;

public class Ifelse03 {

	public static void main(String[] args) {
		// 성적 산출 프로그램
		// 성적입력 ---> 등급 출력 (90->A)
		// 조건문 if ~else
		
		int score = 0;
		Scanner scan = new Scanner(System.in);
		System.out.println("성적으로 입력하세요");
		score = scan.nextInt();
		
		if( score>=0 && score <=100) {
		
		if(score >=90 && score <= 100) {
			System.out.println("A학점 입니다.");
		}else {
			if(score >=80 && score <90) {
				System.out.println("B 학점 입니다.");
			}else {
				if(score >=70 && score <80) {
					System.out.println("c 학점 입니다.");
				}else {
					if(score >=60 && score <70) {
						System.out.println("D 학점 입니다.");
					}else {
						System.out.println("F 학점 입니다.");

					}
				}
				
			}//80~90
		}//90~100

	}else {
		System.out.println("다시 입력하세요");
	}
	} //main
}

if ~else if ~ else