[Java] branching(가지치기)
카테고리: Java
태그: coding Programming Java
branching 이란?
브랜칭은 버전 관리 시스템에서 코드를 나누어 동시에 여러 작업을 수행하는 것을 의미합니다
break 문 사용에 대한 흐름을 이해하고 적용할 수 있다
- break 문은 반복문 내에서 사용한다
- 해당 반복문을 빠져 나올 때 사용하며, 반복문의 조건문 판단 결과와 상관없이 반복문을 빠져나올 때 사용한다
- 일반적으로 if(조건식) {break;} 처럼 사용한다
- 단, switch 문은 반복문이 아니지만 예외적으로 사용한다
break 문을 이용하여 무한루프를 활용한 1~100까지의 합계 구하기
package section03.branching;
public class A_break {
public void testSimpleBreakStatement() {
int sum = 0;
int i = 1;
while (true) {
sum += i;
if (i == 100) {
break;
}
i++;
}
System.out.println("1부터 100까지의 합은 " + sum + "입니다");
}
}
중첩 반복문 내 break문 사용에 대한 흐름을 이해하고 적용할 수 있다
- break 문은 모든 반복문을 종료하는 것이 아닌 자신에게 가장 인접한 반복문의 실행을 멈춘다
- 구구단 2~9단까지 출력
- 단, 각 단의 수가 5보다 큰 경우 해당 반복문을 빠져나온다
public void testSimpleBreakStatement2() {
for (int dan = 2; dan < 10; dan++) {
for (int su = 1; su < 10; su++) {
if (su > 5) {
break;
}
System.out.println(dan + " * " + su + " = " + (dan * su));
}
}
}
continue 문 사용에 대한 흐름을 이해하고 적용할 수 있다
- continue 문은 반복문 내에서 사용한다
- 해당 반복문의 반복 회차를 중간에 멈추고 다시 증감식으로 넘어가게 해준다
- 일반적으로 if(조건식){continue;}처럼 사용된다
- 보통 반복문 내에서 특정 조건에 대한 예외를 처리하고자 할 때 자주 사용한다
1부터 100사이의 4의 배수이면서 5의 배수인 값을 출력
package section03.branching;
public class B_continue {
public void testSimpleContinueStatement() {
for (int dan = 2; dan < 10; dan++) {
/* 설명. 여기까지 빠져나옴 */
for (int su = 1; su < 10; su++) {
if (su % 2 == 0) {
/* su가 짝수인 경우 해당 회차 반복 내용을 건너 뛰고 증감식으로 이동 */
continue;
}
System.out.println(dan + " * " + su + " = " + dan * su);
}
System.out.println();
}
}
}
이번에도 Application 클래스를 만들어서 실행 해보자
package section03.branching;
public class Application {
public static void main(String[] args) {
A_break b = new A_break();
//b.testSimpleBreakStatement();
//b.testSimpleBreakStatement2();
B_continue c = new B_continue();
//c.testSimpleContinueStatement();
}
}
b.testSimpleBreakStatement();
- 출력값
1부터 100까지의 합은 5050입니다
b.testSimpleBreakStatement2();
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
c.testSimpleContinueStatement();
- 출력값
2 * 1 = 2
2 * 3 = 6
2 * 5 = 10
2 * 7 = 14
2 * 9 = 18
3 * 1 = 3
3 * 3 = 9
3 * 5 = 15
3 * 7 = 21
3 * 9 = 27
4 * 1 = 4
4 * 3 = 12
4 * 5 = 20
4 * 7 = 28
4 * 9 = 36
5 * 1 = 5
5 * 3 = 15
5 * 5 = 25
5 * 7 = 35
5 * 9 = 45
6 * 1 = 6
6 * 3 = 18
6 * 5 = 30
6 * 7 = 42
6 * 9 = 54
7 * 1 = 7
7 * 3 = 21
7 * 5 = 35
7 * 7 = 49
7 * 9 = 63
8 * 1 = 8
8 * 3 = 24
8 * 5 = 40
8 * 7 = 56
8 * 9 = 72
9 * 1 = 9
9 * 3 = 27
9 * 5 = 45
9 * 7 = 63
9 * 9 = 81
댓글 남기기