1. 반복문 - for, while , do-while
- 문장 또는 문장들을 반복해서 수행할 때 사용
- 조건식과 수행할 블럭{} 또는 문장으로 구성
- 반복회수가 중요한 경우에 for문을 그 외에는 while문을 사용한다.
- for문과 while문은 서로 변경가능하다.
- do-while문은 while문의 변형으로 블럭{}이 최소한 한번은 수행될 것을 보장한다.
2. for문
- 초기화, 조건식, 증감식, 그리고 수행할 블럭{} 또는 문장으로 구성
- for문 안에 또 다른 for문을 포함시킬 수 있다.
- for문의 중첩횟수에는 거의 제한이 없다.
3. while문
- 조건식과 수행할 블럭{} 또는 문장으로 구성
- while문 안에 또 다른 while문을 포함시킬 수 있다.
- while문의 중첩횟수에는 거의 제한이 없다.
4. do - while문
- while문의 변형, 블럭{}을 먼저 수행한 다음에 조건식을 계산한다.
- 블럭{}이 최소한 1번 이상 수행될 것을 보장한다.
5. break
- 자신이 포함된 하나의 반복문 또는 switch문을 빠져나온다.
- 주로 if 문과 함께 사용해서 특정 조건을 만족하면 반복문을 벗어나게 한다.
6. continue
- 자신이 포함된 반복문의 끝으로 이동한다. (다음 반복으로 넘어간다.)
- continue문 이후의 문장들은 수행되지 않는다.
7. 이름이 붙은 반복문과 break, continue
- 반복문 앞에 이름을 붙이고, 그이름을 break, continue와 같이 사용함으로써
- 둘 이상의 반복문을 벗어나거나 반복을 건너뛰는 것이 가능하다.
/* * 반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용 된다. * for문은 주로 반복횟수를 알고 있을 때, 카운터가 반복문 내에 필요한 경우에 사용되고, * 단순히 조건에 다른 반복만이 필요 한 경우 while 문이 사용된다. */ package com.tistory.gangzzang; import java.util.Random; import java.util.Scanner; public class ForWhile { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 1. for 문 - (초기화값;조건식;증감식) 조건식이 true 일 때 수행 될 문장들을 {} 안에 적는다. System.out.println(" ### 제곱 승을 구하자 ### "); System.out.print("곱할 수를 입력하세요 : "); int num1 = sc.nextInt(); System.out.print("곱할 횟수를 입력하세요 : "); int num2 = sc.nextInt(); int result = 1; // 결과를 출력할 변수 0으로 초기화하면 곱을 할때 계속 0이되서 1로 초기화 한다. for (int i = 0; i < num2; i++) { // 곱할 횟수 num2만큼 곱하는 반복문 result = result * num1; // 결과값 * 입력값을 반복곱해서 결과값 result에 저장한다. } // for System.out.println("입력하신 " + num1 + "의 " + num2 + "제곱승은 " + result + "입니다."); System.out.println(); // 2. while 문 - (조건식) 조건식의 연산 결과가 true 일 때 수행 될 문장들을 {} 안에 적는다. System.out.println(" ### 제곱 승을 구하자 ### "); System.out.print("곱할 수를 입력하세요 : "); int num3 = sc.nextInt(); System.out.print("곱할 횟수를 입력하세요 : "); int num4 = sc.nextInt(); int result2 = 1; // 결과를 출력할 변수 0으로 초기화하면 곱을 할때 계속 0이되서 1로 초기화 한다. int i2 = 0; // 곱할 횟수의 시작 0, 1, 2 ~ num2 보다 작을 때 까지 while (i2 < num2) { // 곱할 횟수 num2만큼 곱하는 반복문 result2 = result2 * num3; // 결과값 * 입력값을 반복곱해서 결과값 result에 저장한다. i2++; } // while System.out.println("입력하신 " + num3 + "의 " + num4 + "제곱승은 " + result2 + "입니다."); System.out.println(); // 3. do while 문 - while문의 변형으로 {} 먼저 수행한 후에 조건식을 판단한다는 것이 while 과의 차이점이다. 최소한 한번의 수행을 보장한다. System.out.println(" ### 제곱 승을 구하자 ### "); System.out.print("곱할 수를 입력하세요 : "); int num5 = sc.nextInt(); System.out.print("곱할 횟수를 입력하세요 : "); int num6 = sc.nextInt(); int result3 = 1; // 결과를 출력할 변수 0으로 초기화하면 곱을 할때 계속 0이되서 1로 초기화 한다. int i3 = 0; // 곱할 횟수의 시작 0, 1, 2 ~ num2 보다 작을 때 까지 do { result3 = result3 * num5; // 결과값 * 입력값을 반복곱해서 결과값 result에 저장한다. i3++; } while (i3 < num5); // 곱할 횟수 num2만큼 곱하는 반복문 System.out.println("입력하신 " + num5 + "의 " + num6 + "제곱승은 " + result3 + "입니다."); System.out.println(); // 4. break 문 - 현재 위치에서 가장 가까운 반복문을 벗어나는데 사용한다. Random ran = new Random(); System.out.println(" ### 1부터 100까지의 수 중 컴퓨터가 생각한 수를 알아 맞춰 보자 ### \n"); int random = (ran.nextInt() >>> 1) % 100 + 1; int count = 0; while (true) { count++; System.out.print("수를 입력하세요 : "); int num = sc.nextInt(); if (num == random) { System.out.println("축하합니다. 정답입니다."); break; } else if (num > random) { System.out.println("틀렸습니다. 더 작은 수를 입력하세요!"); } else { System.out.println("틀렸습니다. 더 큰 수를 입력하세요!"); } // if } // while System.out.println("총 " + count + "회 시도에 성공하셨습니다."); System.out.println(); // 5. continue 문 - 반복이 진행되는 도중에 continue문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다. for (int i = 0; i < 10; i++) { if (i == 4) { continue; // break 와 달리 탈출이 아닌 4만 건너뛰는 점프 개념 } // if System.out.println("hello " + i); } // for System.out.println("종료"); } // main } // ForWhile
'Java > Java SE' 카테고리의 다른 글
클래스(Class), 객체(Object), 인스턴스(Instance), 생성자(Constructor) (2) | 2013.07.30 |
---|---|
객체지향 프로그래밍 (Object-oriented Programming) (0) | 2013.07.29 |
JAVA 조건문 - if, switch (0) | 2013.07.23 |
JAVA 연산자(Operator) (0) | 2013.07.23 |
JAVA 변수(variable) (0) | 2013.07.22 |