미새문지

JAVA.Day07 반복문 본문

언어 학습/자바 연습

JAVA.Day07 반복문

문미새 2022. 4. 29. 14:16
728x90

7일차입니다 6일차에서는 switch문과 for문을 공부했었는데요.

반복문에는 for문, while문, do while문이 있어 7일차로 제어문은 마무리 될것 같습니다.

 

 

for문 예제)

 

1부터 10까지의 숫자 총합 출력하기

public class Main {
	public static void main(String[] args) {
    
   		int sum = 0;
		for(int i = 1; i < 11; i = i++) {
			sum += i;   //sum = sum + i
			System.out.println( sum );	
		}

for문의 형식은 (초기식; 조건식; 증감식) 이므로 (i에 1을 대입; i가 11보다 작을 떄; i값을 하나 증가)입니다.

sum에 sum값에 i값을 대입이므로 초기값은 sum(0) + i(1) = 1입니다.

그리고 sum값을 출력. --> 다시 for문으로 조건식 만족 --> 출력을 반복하여

sum값은 순서대로 1, 3, 6, 10, 15, 21, 28, 36, 45, 55가 되어 총합은 55가 됩니다.

 

 

결과)

55

 

 

< 다중 for문 >

 

for문 안에 또 for문이 있는 다중for문 입니다.

 

 

다중 for문 예시)

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	
		for(int i = 0; i < 3; i++) {
		System.out.println("겉의for문안쪽, 안쪽for문바깥쪽");
		
		for(int j = 0; j < 2; j++) {
			System.out.println("i : "+i + " j : "+j);
			System.out.println("안녕");
		}
		
		System.out.println("---------------------------");
	}

다중 for문은 바깥 for문을 한번 실행했을 때 다시 반복되기 전에 안에 있는 for문의 조건식이 거짓이 될때까지 반복하고 바깥 for문이 반복된다.

즉, 첫 for문의 출력문이 실행되고 안쪽 for문의 조건은 j < 2이므로 두번 반복하여 안쪽 for문의 출력문은 두번 실행

그리고 다시 바깥 for문으로 돌아온다.

 

 

결과)

겉의for문안쪽, 안쪽for문바깥쪽 // 바깥 for문 1
i : 0 j : 0		    // 안쪽 for문 1
안녕							 
i : 0 j : 1	           // 안쪽 for문 2
안녕							 
---------------------------          
겉의for문안쪽, 안쪽for문바깥쪽
i : 1 j : 0
안녕
i : 1 j : 1
안녕
---------------------------
겉의for문안쪽, 안쪽for문바깥쪽
i : 2 j : 0
안녕
i : 2 j : 1
안녕
---------------------------

이런식으로 여러번 반복하여 푸는 다중 for문도 있습니다.

하지만 코드가 너무 길어져 가독성이 떨어질 수도 있는데, 그때 사용하는게 while문입니다.

 

 

<while문 >

반복문의 한 종류인 while문조건식이 참인 동안에 반복하는 반복문입니다.

 

 

while문 형식)

while(조건식) {
		while문 안쪽 문장;
		....
		}

while문을 만나면 조건식을 확인해서 조건식이 참이면 while문 안쪽문장을 수행하고 끝나면 다시 조건식을 확인합니다.

 

 

while문 예시)

public class WhileTest {
	public static void main(String[] args) {

        int i = 0;
		while(i < 3) {
			System.out.println("While문 안쪽문장");
			i++;
		}
		
		System.out.println("While문 바깥문장");
    }
}

while문이 i가 3보다 작으면 참인데 정수 i는 0이니 출력문을 실행하고 i를 1증가합니다.

다시 돌아가 반복하여 i가 2일때까지 반복하므로 세번 출력하고 while문을 빠져나와 바깥 출력문을 출력하고 종료합니다.

 

 

결과)

While문 안쪽문장
While문 안쪽문장
While문 안쪽문장
While문 바깥문장

for문과 다르게 while문은 코드가 간결하여 while문만 쓰면 되지 않냐 할수도 있는데

for문반복의 횟수가 명확할 경우에 자주 사용하며,

while문반복의 조건이 명확하거나 무한 반복을 할 경우에 취합하며 각자의 특징에 맞게 사용하는 것이 바람직합니다.

 

7일차는 이렇게 마무리되는데, 아마 8일차에는 지금까지 배운 문법, 명령어 등으로 한 프로그램을 만들어 보지 않을까 합니다.

꾸준히 반복하겠습니다.

728x90

'언어 학습 > 자바 연습' 카테고리의 다른 글

JAVA.Day06 swhich문 + for문  (1) 2022.04.27
JAVA.Day05 선택제어문  (1) 2022.04.24
JAVA. Day04 연산자  (1) 2022.04.22
JAVA. Day03 변수의 선언  (1) 2022.04.20
JAVA. Day02 변수  (1) 2022.04.16