boolean으로 판단한 조건을 현실의 흐름으로 구현하는 방법
🧩 1. 조건문이란 무엇인가?
조건문은 말 그대로
| **"어떤 조건이 맞을 때만 특정 코드를 실행"**하는 구조입니다.
프로그래밍 세계에서 조건이란 결국 boolean -즉 true 또는 false이죠.
예시
if(조건식){
// 조건이 true일 때 실행
}
이렇게 조건이 참일 때만 특정 코드가 실행되고,
거짓이면 건너뛰는 구조가 조건문, 그리고 그 핵심이 바로 if 입니다.
🧠 2. if /esle if/ else 구조 한눈에 보기
if(조건문A) {
// 조건 A가 참일 때 실행
} else if(조건B) {
// 조건 A는 거짓이고, 조건 B가 참일 때 실행
} else {
// 조건 A,B 모두 거짓일 때 실행
}
🌱 흐름도 :
[조건A] --true--> 실행A
|
false
↓
[조건B] --true--> 실행B
|
false
↓
실행C (else)
🎯3. 실전 예제 : 점수에 따른 등급 판단
int score = 85;
if (score >= 90) {
System.out.println("A등급입니다.");
} else if (score >= 80) {
System.out.println("B등급입니다.");
} else if (score >= 70) {
System.out.println("C등급입니다.");
} else {
System.out.println("재시험 대상입니다.");
}
💡 출력 결과 :
| B등급입니다.
| 조건은 위에서부터 순차적으로 검사되며,
처음으로 true가 되는 조건만 실행되고 나머지는 무시됩니다.
📦 4. else와 else if의 차이
키워드 조건 필요 여부 실행 조건
if | ✅ 있음 | 조건이 참일 때 |
else if | ✅ 있음 | 이전 조건은 거짓이고, 내 조건은 참일 때 |
else | ❌ 없음 | 위의 모든 조건이 거짓일 때 |
🚫 5. 실수하기 쉬운 예제; 조건 순서
int score = 95;
if (score >= 80) {
System.out.println("B등급입니다."); // 실행됨!
} else if (score >= 90 ) {
System.out.println("A등급입니다."); // 실행 안됨
}
|❗잘못된 순서로 인해 A등급임에도 B등급 출력
조건은 위에서 아래롤 순서대로 검사되므로,
항상 더 큰 조건을 먼저 써야 합니다!
🔄 6. 중첩 if문
int age = 25;
boolean isMember = true;
if (age >= 18) {
if (isMember) {
System.out.println("성인 회원입니다.");
} else {
System.out.println("성인이지만 비회원입니다.");
}
} else {
System.out.println("미성년자입니다.");
}
✍️if문 안에 또 if문을 넣어 세부 조건 분기가 가능합니다.
💬7. 실무 응용 예시 : 로그인 상태 & 관리자 권한
boolean isLoggedIn = true;
boolean isAdmin = false;
if (isLoggedIn) {
if (isAdmin) {
System.out.println("관리자 대시보드로 이동합니다.");
} else {
System.out.println("일반 사용자 화면으로 이동합니다.");
}
} else {
System.out.println("로그인 페이지로 이동합니다.");
}
📚 용어 정리
용어 설명
조건문 | 조건에 따라 실행 흐름을 분기하는 문장 |
if | 조건이 참일 때만 실행 |
else if | 추가 조건 검사 (if는 false일 때) |
else | 모든 조건이 false일 때 실행 |
중첩 if문 | if문 안에 또 다른 if문을 사용하는 것 |
흐름 제어문 | 조건문 + 반복문 등 전체 제어 흐름 도구들 |
🧠 마무리 요약
- 조건문은 boolean 판단을 바탕으로 실행 흐름을 분기함
- 조건은 위에서 아래로 순차적으로 평가되며, 가장 먼저 참이 되는 분기만 실행
- 조거이 많아질수록 순서, 조건 범위, 중첩 등을 잘 관리해야 함
728x90
'코드 분석' 카테고리의 다른 글
switch문 완전 정복: if와는 무엇이 다를까?(5) (0) | 2025.07.01 |
---|---|
2025.06.30 팀 프로젝트 – 로그인/헤더 구조 정리 요약 (0) | 2025.06.30 |
자바논리형 완전정복(boolean 완전 정복-boolean에서 if까지: 판단이 코드로 이어지는 철학과 구조): 비전공자부터 시니어까지 (3) | 2025.06.29 |
자바 논리형 완전 정복(boolean의 모든 것: 비전공자부터 시니어 개발자까지) (0) | 2025.06.28 |
자바 정수 자료형 완전 정복: long, BigInteger, Integer를 실무와 면접까지 통달하기 (0) | 2025.06.27 |