특정 조건에 따라 다른 연산을 수행하고싶을때 사용
ex)
- “물이 끓으면 강불에서 약불로 줄여주세요.”
- “물이 끓으면”이 조건이 만족하면 “약불로 줄이는” 연산을 수행하는 조건문
- 만약에 ❓ : 조건문 - if, switch
boolean flag = true; if(flag) { System.out.println("flag 값은 true 입니다."); // flag 값은 true 입니다. boolean flag = false; if(flag) { System.out.println("flag 값은 true 입니다."); // 미출력
boolean flag = true; if(flag) { // true인 경우 System.out.println("flag 값은 true 입니다."); }else { // false인 경우 System.out.println("flag 값은 false 입니다."); }
- 특정 조건에 따라 다른 연산을 수행하고 싶을때 사용하는 문맥
- 기본적인 조건에 따른 연산을 수행하기 위해
if(조건)
{ 연산 }
형태로 사용if
의 소괄호() 안의 조건이 boolean 값 true 를 만족하면 중괄호 {} 안의 연산을 수행
if문
조건이 거짓일 경우에 따른 연산을 수행하기 위해else { 연산 }
형태로 사용if
의 소괄호() 안의 조건이 boolean 값 false 를 만족하면else
의 중괄호 {} 안의 연산을 수행
if문
조건이 거짓일 경우에 다시한번 다른조건으로 체크해서 참일 경우에 연산을 수행하기 위해else if(조건) { 연산 }
형태로 사용else if
의 소괄호() 안의 조건이 boolean 값 true 를 만족하면else if
의 중괄호 {} 안의 연산을 수행
int number = 2; if (number == 1) { System.out.println("number값은 1입니다."); } else if (number == 2) { System.out.println("number값은 2입니다."); } else { System.out.println("number값은 모르는 값입니다."); }
if 문
에else
,else if
로 해결할 수 없는 복잡한 조건이 있음- 이럴때 중첩해서
if 문
또는else if문
또는else 문
안에if 문
을 넣을 수 있음
boolean flag = true; int number = 2; if(flag) { if (number == 1) { System.out.println("flag가 true고, number값은 1입니다."); } else if (number ==2) { System.out.println("flag가 true고, number값은 2입니다."); } else { System.out.println("flag가 true고, number값은 모르겠습니다."); } } else { if (number == 1) { System.out.println("flag가 false고, number값은 1입니다."); } else if (number ==2) { System.out.println("flag가 false고, number값은 2입니다."); } else { System.out.println("flag가 false고, number값은 모르겠습니다."); }
import java.util.Objects; import java.util.Scanner; public class W13 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // A에게 값 입력받기 System.out.println("A 입력 : "); String aHand = sc.nextLine(); // B에게 값 입력받기 System.out.println("B 입력 : "); String bHand = sc.nextLine(); // 두 개의 값을 비교하는 메서드 -> Objects.equals(좌, 우) => 왼쪽과 오른쪽 값이 같으면 true, 다르면 false를 반환 if (Objects.equals(aHand, "가위")) { if (Objects.equals(bHand, "가위")) { System.out.println("A와 B는 비겼습니다."); } else if (Objects.equals(bHand, "바위")) { System.out.println("B가 이겼습니다."); } else if (Objects.equals(bHand, "보")) { System.out.println("A가 이겼습니다."); } else { System.out.println("B가 이상한 값을 입력했습니다."); } } else if (Objects.equals(aHand, "바위")) { if (Objects.equals(bHand, "가위")) { System.out.println("A가 이겼습니다."); } else if (Objects.equals(bHand, "바위")) { System.out.println("A와 B는 비겼습니다."); } else if (Objects.equals(bHand, "보")) { System.out.println("B가 이겼습니다."); } else { System.out.println("B가 이상한 값을 입력했습니다."); } } else if (Objects.equals(aHand, "보")) { if (Objects.equals(bHand, "가위")) { System.out.println("B가 이겼습니다."); } else if (Objects.equals(bHand, "바위")) { System.out.println("A가 이겼습니다."); } else if (Objects.equals(bHand, "보")) { System.out.println("A와 B는 비겼습니다."); } else { System.out.println("B가 이상한 값을 입력했습니다."); } } else { System.out.println("A가 이상한 값을 입력했습니다."); } } }