Java loop statements

sycho·2023년 9월 22일
0

Java

목록 보기
8/18

for

  • 기본 구조는 C계열과 동일하다. 다만 condition 확인 부분이 boolean type이어야 한다.
for (int i=1; i<=5; ++i) {
	System.out.printf("%d%n", i);
}
  • 응용도 대체로 비슷한데, 자세한 것은 생략

  • 판별 진행도 동일하다. initialize 이후 condition확인, 이후 progress 부분을 수행한다.

  • 중첩 형태도 물론 가능하다.

for (int i=1; i<=5; ++i) {
	for (int j=1; j<=5; ++j) {
    	...
    }
}
  • collection 부류의 객체의 경우 내부 item에 대해서 iterate하는 것이 가능하다. (JDK 1.5 이상)
int[] arr = {1, 2, 3, 4, 5};
for (int item : arr) {
	System.out.println(item);
}

while

  • 역시 기본 구조는 동일하다. 다만 조건식 결과물이 boolean type이어야 한다.
int i = 0;
while (++i <= 10) {
	System.out.println(i);
}

do-while

  • 역시 기본 구조는 동일하다. 다만 조건식 결과물이 boolean type이어야 한다.
int i = 1;
do {
	System.out.println("yo"); //runs one time
} while (i < 1); 

break / continue

  • C/C++의 그 break/continue로 활용법은 잘 알고 있다고 가정하겠다.
int i = 1;
while(true) {
	if (i >= 10) break;
    if (i >= 5) continue;
    System.out.println(i++); //prints only up to 4
}

named loop

  • C/C++의 goto랑 활용법이 비슷하다고 보면 된다.

  • 이중 이상의 loop를 한번에 탈출할 때 활용이 된다.

  • 애초에 이런 반복문이 없도록 코드를 짜는게 이상적이라는 점 참고.

doubleLoop : for (int i = 1; i <= 5; ++i) {
			 	for (int j = 1; j <= 5; ++j) {
                	if (i == 3 && j == 3) break doubleLoop;
                	System.out.println("looping");
                }
             }
profile
안 흔하고 싶은 개발자. 관심 분야 : 임베디드/컴퓨터 시스템 및 아키텍처/웹/AI

0개의 댓글