프로그램의 흐름(연산이 진행되는 순서)을 변경하는 구문이다.
우리는 생활 속에서 수많은 선택을 한다. 프로그램도 경우에 따라서 선택을 하여야 하는 경우가 있고, 결국 구문은 분기하게 된다.
조건식은 if(조건식), 스코프({ }), 처리 로직으로 이루어진다.

조건식의 결과는 boolean타입이다.
될 수 있으면 If( (a&&b) || (b&&c)) 로 복합적으로만들어야 한다.

분기문은 if 조건식에 맞는 경우 스코프의 로직을 실행하며, 맞지 않으면 스코프를 빠져 나간다.
한줄 조건 명령의 경우에만 { }(스코프) 가 없으면 해당 라인과 그 다음 라인까지만 실행 된다.
else 오른쪽에는 조건식이 없다.

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
}