태그

#JAVA

JAVA - for, nested loop

2021년 6월 3일 00:10

40-thumbnail-image

for

  • 반복할 횟수가 정해져 있을 때

  • 반복할 횟수가 일정할 때

  • 반복할 횟수를 알고 있을 때

  • 괄호 안에 반드시 ;(세미콜론)이 두 개 있어야한다 (각 식들을 구분하기 위해서

형식

for (초기문; 조건식; 증감식) {
    종속문장;
}

저번에 초기식, 조건식, 증감식을 언급한 적이 있는데 이번에 자세히 정리해보겠다

초기식

  • 초기식은 일반적으로 변수를 적는다

  • 변수를 선언해도 되고, 외부에서 사용되는 변수를 가져와서 사용해도 된다

  • 시작을 알리는 식이다

ex ) int i = 0; int i = 1;

조건식

  • 끝을 알리는 식

  • 단순한 조건이 사용된다

ex ) i < 10, i <= 10

증감식

  • 일정하게 증가 또는 감소하는 식

  • 일반적으로 증감연산자를 사용한다

  • 반드시 반복할 변수의 값을 변화 시켜야 한다

for(;true;) {
    무한루프
}

for(i=1;i<=10;i++) { // i가 1부터 10까지 1씩 늘어가면서
	System.out.println(i + " ");
    // 1 2 3 4 5 6 7 8 9 10 
}

중첩반복문

중첩 반복문은 반복문 안에 또 다른 반복문이 있는 것이다

쉽게 생각하면 좌표라고 생각하면 된다

for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        System.out.print("(" + i + ", " + j + ") ");
    }
    System.out.println();
}

실행 결과

(0, 0) (0, 1) (0, 2) (0, 3) (0, 4) (0, 5) (0, 6) (0, 7) (0, 8) (0, 9)
(1, 0) (1, 1) (1, 2) (1, 3) (1, 4) (1, 5) (1, 6) (1, 7) (1, 8) (1, 9)
(2, 0) (2, 1) (2, 2) (2, 3) (2, 4) (2, 5) (2, 6) (2, 7) (2, 8) (2, 9)
(3, 0) (3, 1) (3, 2) (3, 3) (3, 4) (3, 5) (3, 6) (3, 7) (3, 8) (3, 9)
(4, 0) (4, 1) (4, 2) (4, 3) (4, 4) (4, 5) (4, 6) (4, 7) (4, 8) (4, 9)
(5, 0) (5, 1) (5, 2) (5, 3) (5, 4) (5, 5) (5, 6) (5, 7) (5, 8) (5, 9)
(6, 0) (6, 1) (6, 2) (6, 3) (6, 4) (6, 5) (6, 6) (6, 7) (6, 8) (6, 9)
(7, 0) (7, 1) (7, 2) (7, 3) (7, 4) (7, 5) (7, 6) (7, 7) (7, 8) (7, 9)
(8, 0) (8, 1) (8, 2) (8, 3) (8, 4) (8, 5) (8, 6) (8, 7) (8, 8) (8, 9)
(9, 0) (9, 1) (9, 2) (9, 3) (9, 4) (9, 5) (9, 6) (9, 7) (9, 8) (9, 9)

++ break, continue

  • break : break가 써진 가장 가까운 반복문에서 빠져나옴
  • continue : skip, continue의 아래 코드들을 수행하지 않음

솔직히 for문은 문제를 많이 풀어야 이해가 되고 쓰기 쉬워진다