'제어문' 은 크게 '분기문', '반복문', '제어키워드'으로 나누어집니다.
'분기문' 은 '선택제어문'이라고도 하며 'if 조건문' 과 'switch ~ case 문' 이 있습니다.먼저 'if 조건문' 에 대해 설명드리겠습니다.
int num = 10;
if (num < 20) { // 만약, 조건이 참이라면
++num; // 종속 문장을 실행한다
System.out.println("if조건문 실행 결과 : " + num);
}
if(num >= 20) { // 만약, 조건이 거짓이라면
--num; // 종속 문장을 실행하지 않는다
System.out.println("if조건문 실행 결과 : " + num);
}
<※ 결과는 다음과 같습니다.>
'if 조건문' 은 'else' 를 결합하여 다음과 같이 정리할 수 있습니다.
if(num < 20) {
++num; // 20보다 작으면 종속 문장을 실행한다
System.out.println("if조건문 실행 결과 : " + num);
}
else {
--num; // 위의 조건을 만족하지 못하면 종속 문장을 실행하지 않는다
System.out.println("if조건문 실행 결과 : " + num);
}
if(num < 20) {
++num; // 20보다 작으면 종속 문장을 실행한다
System.out.println("if조건문 실행 결과 : " + num);
}
System.out.println("안녕하세요");
else {
--num; // 위의 조건을 만족하지 못하면 종속 문장을 실행하지 않는다
System.out.println("if조건문 실행 결과 : " + num);
}
<※ 결과는 다음과 같습니다.>
'else' 는 다음과 같이 결합하여 'else if' 의 형태로 사용될 수 있습니다.해당 구문은 다중 조건을 통한 제어문을 작성할 경우 사용됩니다.
Scanner sc = new Scanner(System.in);
int num1, num2;
System.out.print("첫번째 정수(num1) 입력 : ");
num1 = Integer.parseInt(sc.nextLine());
System.out.print("두번째 정수(num2) 입력 : ");
num2 = Integer.parseInt(sc.nextLine());
if (num1 > num2) {
System.out.print("num1은 num2보다 크다\n");
}
else if(num1 == num2) {
System.out.print("num1과 num2는 같다\n");
}
else {
System.out.print("num1은 num2보다 작다\n");
}
sc.close();
}
<※ 결과는 다음과 같습니다.>
'switch' 는 일상에서 사용하는 스위치를 떠올리시면 쉽게 이해하실 수 있습니다.
Scanner sc = new Scanner(System.in);
int num = 100;
int answer; // switch를 통제하기 위한 변수
System.out.println("\n");
System.out.println("보기에 주어진 정수보다 큰 수를 고르세요");
System.out.println(num);
System.out.println("① 10");
System.out.println("② 20");
System.out.println("③ 30");
System.out.println("④ 120");
System.out.print("정답 : ");
answer = Integer.parseInt(sc.nextLine());
switch (answer) {
case 1:
System.err.println("오답입니다!!!");
break;
case 2:
System.err.println("오답입니다!!!");
break;
case 3:
System.err.println("오답입니다!!!");
break;
case 4:
System.out.println("정답입니다!!!");
break;
}
sc.close();
해당 코드를 보시게 되면 'switch 문' 에는 항상 'case (위치값):' 가 따라오게 됩니다.'switch 문' 을 통제할 '변수' 를 선언한 뒤 해당 변수에 데이터 값을 입력받게 되면 데이터와 동일한 위치값을 가진 case구역으로 이동하여 해당 영역의 코드를 실행하게 됩니다. 그럼 해당 구문을 실행시켜 보도록 하겠습니다.
<※ 결과는 다음과 같습니다.>
그런데 여기서 해당 구문을 잘 살펴보시면 각 'case' 가 끝날 때마다 'break' 라는 단어가 붙는 것을 보실 수 있을겁니다. 다음 포스트에서는 해당 단어가 속한 제어문과 함께 반복문에 대해 말씀드리겠습니다.