쯔이's Dev

제어문(2) - 반복문, 분기문 본문

JAVA/제어문

제어문(2) - 반복문, 분기문

jjhim531 2024. 7. 10. 02:34
반응형

* 특정 문장들을 반복해서 수행하도록함.

* 중첩 가능!!

< for 문 >

 

for(초기식; 조건식; 증감식) {
	수행될 문장;
}

- 조건식이 false가 나올 때까지 반복해서 회전하면서 문장을 수행한다. 조건식이 false가 나오면 탈출!

- 정해진 횟수만큼의 반복을 수행하는 경우에 적합!

- 초기식, 조건식, 증감식 각각 생략하고 싶으면 생략해도 되지만 세미콜론 " ; "은 생략불가능! 꼭 써줘야 함!

- for (   ;   ;   ){ } 이면 무한반복을 의미한다.

- (초기식; 조건식; 증감식) 각각의 자리에 변수 여러개 선언도 가능하다 but 권장하진 않는다.....

ex) for(int num=1, count=1; count<= 10; num+=2; count++){ }

ex)

■ 실행결과 ■

< 향상된 for문(= for- each 문) >

for(변수 선언  : 배열 또는 컬렉션) {

        //배열 또는 컬렉션의 요소를 순회하면서 수행할 작업

}

package array;

public class Array2 {
	public static void main(String[] args) {
		int[] numbers = {1,2,3,4,5};
		
		for(int number : numbers) {
			System.out.print(number +" ");
		}
		
		
	}

}

* 출력 *

* 향상된  for문을 사용하지 못하는 경우

- 향상된 for문에는 증가하는 인덱스 값이 감추어져 있다. 따라서  'int i ` 와 같은 증가하는 인덱스 값을 직접 사용해야 하
는 경우에는 향상된 for문을 사용할 수 없다

//for-each문을 사용할 수 없는 경우, 증가하는 index 값 필요
for(int i = 0; i < numbers.length; ++i) {
 System.out.println("number" + i + "번의 결과는: " + numbers[i]);
 }

이 예제에서는 증가하는 ` i 값을 출력해야 하므로 향상된 for문 대신에 일반 for문을 사용해야 한다


< while문 >

while(조건식) {
	수행될 문장;
	[증감식 or 분기문];
}

- 조건식이  true일 때 문장을 수행하고, 조건식을 다시 확인 후 true면 반복 수행하다가, false가 되면 반복문 종료.

- { } 안에 조건을 벗어나게 해줄 연산(증감식, 분기문) 필요함.

- 종료시점을 명확하게 알 수 없는 경우에 유용

ex)

■ 실행결과 

☆쯔이's  Tip☆

♥ 예제 하나를 for문으로도 작성해보고 while문으로도 작성하는 연습을 해보자!

♥ while보다는 for문을 사용하는 것이 구조적으로 더 깔끔하고, 유지보수성이 높다.

♥ 구구단을 출력해보자!!

 

< do ~ while문 >

* 최초 한번은 코드 블럭을 꼭 실행해야 하는 경우에 사용!!

* 최초 한번은 항상 실행된다! 한번은 실행한 후에 조건식을 검증한다. 조건식이 true면 반복하다가, false가 되면 do~while문을 빠져나온다.

 

< break >

- break문이 포함된 가장 가까운 반복문을 빠져나가는 역할을 함.(즉시 종료)

ex)

for(int i = 1;; i++) {
	System.out.println(i + " 출력");

	if(i >= 10) {
		break;
	}
}

* 위의 예시에서 break문은  if문의 조건을 만족할 경우 if문을 빠져나가게 해준다.

< continue >

* 반복문 내에서만 사용 가능하며 반복문 실행 시 조건을 만족하면  continue 아래의 코드는 실행하지 않고 반복문(증감식)을 다시 실행.

* 전체 반복 중에 특정 조건을 만족하는 경우를 제외하고자 할 때 유용

for(int i = 1; i <= 10; i++) {
	if(i % 2 == 0) {
		continue;
	}
	System.out.println(i + " 출력");
}

☆쯔이's  Tip☆

♥ continue든 break든, 하나의 break 당 하나의 for문을 탈출한다

♥ continue를 꼭 if 문과 써야한다는 건 아니지만, if 문의 조건을 만족했을 때 사용하는 것이 주 쓰임새다.

♥ continue; 다음에는 다른 소스를 쓰지 못하기 때문에 if문의 특정 조건이 만족되면 다음 index로 넘기는 것이 자연스럽지, 반복문 안에 if문 없이 continue를 쓰는 것은 음.. 죽은코드나 마찬가지다.

 

 

 

 

 

 

 

728x90
반응형

'JAVA > 제어문' 카테고리의 다른 글

제어문(1) - 조건문  (1) 2024.07.09