Backend/Java
9. 흐름 제어 선택문
Study
2021. 7. 17. 22:59
안녕하세요
이번 포트팅에서는 흐름제어문 중 선택문을 설명 해보겠습니다.
1. if ~ else
if문은 Boolean식의 값을 기준으로 실행할 문을 선택합니다.
다음 예제에서는 사용자가 입력한 조건에 따라 분기를 따라가며 각 분기마다 정해진 메시지를 사용자에게 출력하고 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import java.util.Scanner;
public class IfElse {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("새누리당 1");
System.out.println("더불어민주당 2");
System.out.println("정의당 3");
System.out.println("녹색당 4");
System.out.println("국민의당 5");
System.out.println("지지하는 정당을 선택하세요. : ");
String input = scanner.nextLine();
int number = Integer.parseInt(input);
if (number == 1)
System.out.println("새누리당을 지지하시는군요.");
else if (number == 2)
System.out.println("더불어민주당을 지지하시는군요.");
else if (number == 3)
System.out.println("정의당을 지지하시는군요.");
else if (number == 4)
System.out.println("녹색당을 지지하시는군요.");
else if (number == 5)
System.out.println("국민의당을 지지하시는군요.");
else {
System.out.println("요즘 그놈이 그놈 같아도 덜 나쁜놈을 뽑아야 합니다.");
System.out.println("제일 나쁜놈의 지배를 받는것보다 좋아질겁니다.");
}
}
}
|
cs |
2. switch~case~default
switch문은 내용을 case문 중에 하나로 전달하여 다중 선택 및 열거형을 처리하는 제어문입니다.
if~else만 사용해도 모든 선택문을 처리할 수 있습니다.
효율 및 가독성이라는 측면에서 switch는 좋은 성능을 냅니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import java.util.Scanner;
public class SwitchCaseDefault {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("요일을 입력하세요.(일,월,화,수,목,금,토) : ");
String day = scanner.nextLine();
switch (day) {
case "일":System.out.println("Sunday");break;
case "월":System.out.println("Monday");break;
case "화":System.out.println("Tuesday");break;
case "수":System.out.println("Wednesday");break;
case "목":System.out.println("Thursday");break;
case "금":System.out.println("Friday");break;
case "토":System.out.println("Saturday");break;
default:System.out.printf("%s는(은) 요일이 아닙니다.", day);break;
}
}
}
|
cs |

개인적으로 if else문에 비해 조금더 보기 편하다고 생각합니다.
3. try ~ catch문
try catch문은 엄밀히 말하면 이프문과도 약간 비슷하다고 볼 수 있는데요
finally 라는 기능외에는 큰 차이점이 없긴 합니다. 다만 try문 안에서 무엇인가 동작하는 동안 생기는 모든것을 감시하고 그중에 무엇인가 조건이 감지되면 특정 행위를 합니다.
런타임 예외처리 관련해서 포스팅하면서 트라이 캐치문은 조금더 자세히 다뤄보겠습니다.