
| 조건문 | 설명 |
|---|---|
| if 문 | 주어진 조건이 참(true)일 경우에만 실행 |
| if~else문 | 주어진 조건이 참(true)일 경우 if문 실행, 그렇지 않을 경우 else문 실행 |
| if~else if~else문 | 조건을 여러개로 세분화 하여 사용하는 구문 |
| switch문 | 하나의 '값'에 대하여 여러가지 경우의 수로 나누어 분기한다 |
if(조건) {
... 실행 코드 ...
}
예시
public static void main(String[] args) { int myAge = 19; // myAge가 19살 이면 '19살 입니다' 출력 if(myAge == 19) { System.out.println("19살 입니다."); } // myAge가 20살이 아니면 '20살이 아닙니다'출력 if(myAge != 20) { System.out.println("20살이 아닙니다."); } // myAge가 19살 보다 크다면, '성인입니다.'출력 if(myAge > 19) { System.out.println("성인입니다."); } // myAge가 19살 보다 작거나 같으면, '학생입니다.'출력 if(myAge <= 19) { System.out.println("학생입니다."); } }
- 비교식(비교 연산자)
- 논리식(논리 연산자)
- boolean값
if(조건1) {
... 실행 코드 ...
} else if(조건2) {
... 조건1과 반대일 경우 실행 코드 ...
} else if(조건3) {
... 조건2와 반대일 경우 실행 코드 ...
} else {
... 조건3과 반대일 경우 실행 코드 ...
}
예시
public static void main(String[] args) { boolean is_Korean = false; if(is_Korean == true) { System.out.println("한국사람입니다."); } else { System.out.println("한국사람이 아닙니다."); } // 값 자체가 boolean이므로 성립한다. if(is_Korean) { System.out.println("한국사람입니다."); } else { System.out.println("한국사람이 아닙니다."); } // "!"는 값을 부정한다. 참을 부정하므로 거짓이된다. if(!is_Korean) { System.out.println("한국사람이 아닙니다."); } }
if(조건1) {
... 실행 코드 ...
} else if(조건2) {
... 조건1과 반대일 경우 실행 코드 ...
} else if(조건3) {
... 조건2와 반대일 경우 실행 코드 ...
} else {
... 조건3과 반대일 경우 실행 코드 ...
}
예시
import java.util.*; public static void main(String[] args) { Random random = new Random(); int Point = random.nextInt(41) + 60; System.out.println("Point : " + Point); // 90점 초과, 100점 이하 일 경우 'A'학점 출력 if(Point > 90 && Point <= 100) { System.out.println("A학점 입니다"); // 80점 초과, 90점 이하 일 경우 'B'학점 출력 } else if(Point > 80 && Point <= 90) { System.out.println("B학점 입니다"); // 70점 초과, 80점 이하 일 경우 'C'학점 출력 } else if(Point > 70 && Point <= 80) { System.out.println("C학점 입니다"); // 나머지 F 학점 } else { System.out.println("F학점 입니다"); } }
switch(기준값) {
case 값1 :
...실행될 구문...
break;
case 값n :
...실행될 구문n...
break;
default :
... 모든 값에 충족이 안되는 경우...
break;
}
예시
public static void main(String[] args) { char Grade = 'Z'; switch (Grade) { // Grade가 'A'일 경우 '91점~100점 사이' 출력 case 'A' : System.out.println("91점~100점 사이"); break; // Grade가 'B'일 경우 '81점~90점 사이' 출력 case 'B' : System.out.println("81점~90점 사이"); break; // Grade가 'C'일 경우 '71점~80점 사이' 출력 case 'C' : System.out.println("71점~80점 사이"); break; // Grade가 위 3개에 해당이 안 될 경우 '70점 이하' 출력 default : System.out.println("70점 이하"); break; } }
if() {
...
} else if {
...
}
(조건문)? true일떄 : false일때
예시
public static void main(String[] args) { int a = 0; if (5 < 4) { a = 50; } else { a = 40; } System.out.println("a : " + a); System.out.println("-----위 내용을 삼항연사자로 바꿈-----"); int b = (5 < 4) ? 50 : 40; System.out.println(b); }
- 문제
- Point가 70점 초과, 80점 이하이면 'c학점입니다.'출력
Point가 70점 이하, 80점 초과이면 '범위를 벗어났습니다.'출력- 90점 초과, 100점 이하 일 경우 'A'학점 출력
80점 초과, 90점 이하 일 경우 'B'학점 출력
70점 초과, 80점 이하 일 경우 'C'학점 출력
나머지 F 학점- 3000원 이상의 돈을 가지고 있으면 '택시를 타고 가라' 그렇지 않으면 '걸어가라'
- 3000원 이상이거나 카드가 있다면 '택시를 타고 가라' 그렇지 않으면 '걸어가라'
- 어떤 특정 정수 값 a가 짝수이면 "짝수", 홀수 이면 "홀수"
- 국어, 영어, 수학 점수의 평균이 95점 이상이면 '장학생'을 출력
국어 점수가 70점 이상이면 "국어 : 합격" 그렇지 않으면 "국어 : 불합격"- 수학점수가 90점 이상이면 "A", 80점 이상이면 "B", 70이상 "C", 60이상 "D", 나머지 "D"
- 서로 다른 특정 정수값 a,b,c의 최대값을 구하라
a = 10, b = 20, c = 90- switch문 사용
Grade가 A 또는 B 또는 C이면 -> pass 한번 출력
그렇지 않은 등급이면 -> Not-Pass 한번 출력- switch문 사용
1은 "축구", 2는 "농구", 3은 "야구", 4는 "배구" 이외에는 "배드민턴"이 출력- 숫자가 3이면 "안녕" 3줄, 숫자가 2이면 "안녕" 2줄 숫자가 1이면 "안녕" 1줄, 이외 "잘가" 출력