출처 : 자바의 정석 책을 보며 정리 및 공부하고 있습니다.
while문 예제
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 34 35 | import java.util.Scanner; public class WhileEx01 { public static void main(String[] args) { int num; int sum = 0; boolean flag = true; // while문의 조건식으로 사용 System.out.println(" 합계를 구할 숫자를 입력하세요 (끝내려면 0을 입력) : "); while (flag) { // flag 값이 true면 실행 System.out.print(">>>"); Scanner scanner = new Scanner(System.in); String tmp = scanner.nextLine(); num = Integer.parseInt(tmp); if (num!=0) { sum += num; // num이 0이 아니면 sum에 더함 } else { flag = false; // num이 0이면 flag 값을 변경 } } System.out.println("sum : " + sum); } } /* 합계를 구할 숫자를 입력하세요 (끝내려면 0을 입력) : >>>100 >>>200 >>>0 sum : 300 */ | cs |
do-while문은 while문의 변형으로 기본적인 구조는 while문과 같으나 do 블럭을 먼저 수행한 후에 조건식을 평가한다.
즉, false 조건에서도 최소한 한 번은 실행 된다.
- break문
break문은 자신이 포함된 가장 가까운 반복문을 벗어난다.
예제)
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 | public class BreakEx01 { public static void main(String[] args) { int sum = 0; int i = 0; while (true) { if (sum > 50) break; i++; sum += i; } System.out.println("i : " + i); System.out.println("sum : " + sum); } } /* 결과) i : 10 sum : 55 // i가 10이면 sum이 50이 넘어 break문에 의해 while문을 빠져나온다. */ | cs |
- continue문
반복문 내에서만 사용되며, 반복이 진행되는 도중에 continue문을 만나면 반복문의 끝으로 이동해서 다음 반복으로 넘어간다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public class ContinueEx01 { public static void main(String[] args) { for (int i = 0; i <= 10; i++) { if (i % 3 == 0) continue; System.out.println(i); } } } /* 결과) 3의 배수로 continue문이 실행되면 블럭의 가장 끝으로 이동한다. break문처럼 빠져 나가지는 않음 1 2 4 5 7 8 10 */ | cs |
- 이름 붙은 반복문
break문은 가장 근접한 하나의 반복문만 벗어나기 때문에 여러 반복문이 중첩된 것을 한 번에 다 나갈 수 없다.
이때는 중첩 반복문 앞에 이름을 붙이고 break문과 continue문에 이름을 지정해서 사용할 수 있다.
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 | public class NamedLoopEx01 { public static void main(String[] args) { // for문에 Loop1 이라는 이믈을 붙임 Loop1 : for (int i = 2; i<= 9; i++) { for (int j = 1; j <= 9; j++) { if (j == 5) break Loop1; //break; //continue Loop1; //continue; System.out.println(i + " * " + j + " = " + i * j); } System.out.println(); } } } /* 결과) break Loop1 -> Loop에 이름을 지정했기 때문에 아예 빠져나올 수 있음 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 */ | cs |
'문돌이의 IT > Spring' 카테고리의 다른 글
| Uncaught ReferenceError: jQuery is not defined (0) | 2017.07.16 |
|---|---|
| how to create JSON data in Spring (0) | 2017.02.05 |
| [Spring] how to use redirect: (0) | 2017.02.04 |
| [Spring] how to use ModelAttribute (0) | 2017.02.03 |
| [Spring]Controller, annotation 기능 확인 (0) | 2016.12.21 |
