관심쟁이 영호

[#6]반복문 본문

학교공부/자바의 왕!

[#6]반복문

관심쟁이 영호 2019. 6. 22. 14:32
반응형

안녕하세요!

 

최고왕입니다.

 

오늘은 반복문에 대해서 공부를 해볼 거예요~

 

반복문 또한 조건문과 같이 아주 많이~ 쓰이는 문법인데요 ㅎㅎ

 

반복문도 깊이 제대로 공부해놓으면 나중에 아주 도움이 되겠지요~?

 

-----------------------------------------------------------------------------------------------------------------------------------

 

먼저 학습목차부터 보겠습니다!

 

1. for

 

2. while

 

3. do-while

 

반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용됩니다.

 

여기서 가장 중요한 사실 한 가지!

 

반복문은 왜 배우고 어디다가 쓰이냐!?

 

아주 많은 분야에서 쓰이겠지만 반복문은 

 

조건을 일정하게 변경하면서 참일 때 작업을 수행합니다!

 

이렇게 말하면 잘 와 닿지 않을 수 있겠네요..

 

쉽게 말해서 검사, 검색 등등을 수행하는 거라고 먼저 봅시다!

 

1. for문

for문을 먼저 보여드릴게요!

 

for(int i=1; i <=10; i++){

    System.out.println("go!");

}

 

if문과 비슷해요~

 

int i =1;   --> i는 1이라는 숫자라고 초기화해주는 작업입니다.

 

i <=10;     --> i는 10 이하라고 범위를 정해주는 것입니다.

 

i++         --> i는 1씩 증가한다는 증감식입니다.

 

작업을 수행하게 되면

 

i가 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 일 때 go!라는 문자열이 출력이 됩니다.

 

총 10번의 go! 가 출력이 되겠죠~?

 

위쪽에 적힌 3가지의 초기화, 조건식, 증감식을 잘 활용한다면 좋은 반복문을 만들 수 있을 거예요~

 

여기서 더 설명을 드리자면 조건식은 2개를 중첩할 수가 있어요.

 

for(int i=1; i <=3; i++){

    for(int j = 1; i<=3; j++){

        System.out.println("-")

    }

}

 

이런 식으로 요!

 

이렇게 적어두고 작업을 수행하게 되면

 

컴퓨터는 먼저 i가 1인 상태에서 j가 속한 for문을 돌리게 돼요!

 

i가 1인 상태에서 j가 1~3까지 증감하면서 "-"라는 문자를 3번 출력하고

 

내부의 for문을 탈출하게 되죠 ㅎㅎ

 

그다음 i가 2로 증가해서 내부의 j가 속한 for문을 다시 1~3까지 출력하게 되고

 

총 9번의 "-"가 출력되겠죠!?

 

여기서 증감식을 여러 가지 모양으로 조작할 수가 있습니다!

 

i++    --> i를 1씩 증가시킨다.

 

i--      --> i를 1씩 감소시킨다.

 

i+=2   --> i를 2씩 증가시킨다.

 

i*=2    --> i를 2배씩 증가시킨다.

 

이 정도로 알아두면 거의 모든 상황에서 증감식을 적을 수가 있어요!

 

2. while문

while문은 for문이랑 똑같이 반복하는 것입니다.

 

그럼 차이점은 무엇이냐?

 

for문은 반복 횟수를 알 때 사용하는 것이고

 

while문은 반복 횟수를 모르거나 무한대로 반복해야 할 경우에 수행하게 됩니다!

(주로 채팅 사이트에 사용된다고 하네요!)

 

while문을 보여드리겠습니다.

 

while (조건식){

    //조건식이 참일 때 수행할 문장

}

 

while문은 이렇게 생겼어요!

 

제가 가볍게 while문을 이용해 일을 시키겠습니다!

(메인 메서드와 클래스 문장은 생략하겠습니다!)

 

int i = 10;

 

while(i--!= 0){

  System.out.println("go!")

}

 

이렇게 while문을 작성하게 되면 i를 1씩 감소시키면서 작업을 수행하게 됩니다.

 

계속해서 i를 감소시키다가 i가 0이 되는 부분에서 조건식은 거짓이 되므로 while문에서 탈출하게 됩니다.

 

여기까지 보면 for문과 별반 차이가 없어 보이는데

 

사용자가 i값을 입력하게 되고 거기에 대해서 작업을 수행하게 되면 반복 횟수를 모르게 되죠!

 

그럴 때 while문이 적합하다는 것이에요!

 

그럼 사용자가 입력한 값을 통해서 while문이 수행되는 식을 제가 써보겠습니다!

 

int num = 0, mul = 0;

 

System.out.print("숫자를 입력해주세요.")

 

Scanner scanner = new Scanner(System.in);

 

String tmp = scanner.nextLine();    // 화면을 통해 입력받은 내용을 tmp에 저장

 

num = Integer.parseInt(tmp);    // 입력받은 내용이 문자열이니 문자열에서 int인 숫자로 변환

 

while(num!=0) {

    mul *= num%10;

    

    num /= 10;

}

    System.out.println("각 자릿수의 곱: " + mul);

 

이렇게 쓰게 되면 입력받은 숫자에 따라 컴퓨터가 알아서 반복을 하게 되어 작업을 수행하게 됩니다!

 

for문이었다면 반복 횟수가 정해져 있어 제대로 된 작업을 수행하기가 힘들었겠지요~?

(물론 조작을 잘하면 for문으로도 가능하지만 좀 더 복잡하고 생각을 많이 해야겠지요..)

 

3. do-while문

do-while문도 while문과 다른 게 없습니다!

 

다만, 일단 1번을 수행한 다음 조건을 따지는 것이에요.

 

그렇게 하려면 조건식이 먼저 나오지 않고 수행 문장부터 나오겠지요~?

 

그래서 do-while문은 조건식이 아래쪽으로 내려오게 됩니다!

 

do-while문의 형태를 보여드리자면

 

do {

 

} while(조건식);

 

이런 식으로 나오게 됩니다!

 

위쪽에 while문을 참고하여 동일하게 문장을 쓰면 됩니다!

 

 

--------------------------------------------------------------------------------------------------------

 

오늘은 반복문에 대하여 공부를 했어요!

 

다음 수업은 반복문의 응용에 대해서 공부를 할 건데요.

 

break문, continue문, 이름 붙은 반복문 등등을 공부하게 될 거예요!

 

블로그를 포스팅하다 보니 너무나 허술한 면이 많이 보여요 ㅠㅠ

 

문제도 내면서 재미있게 하고 싶었는데..

 

생각보다 많이 많이 어렵네요 ㅠㅠ

 

좀 더 노력하는 최고왕이 되겠습니다!

 

포스팅을 보다가 불편한 점, 잘못된 점이 보이신다면 언제든지 댓글로 알려주세요!

 

언제나 여러분들의 말씀을 듣는 최고왕입니다 ㅎㅎ

 

긴 글 읽어주셔서 정말 정말 감사드려요!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

300x250

'학교공부 > 자바의 왕!' 카테고리의 다른 글

[#@] 자바 - 쓰레드(Thread)  (0) 2020.11.17
안녕하세요 최고왕입니다.  (0) 2019.10.28
[#5]조건문  (0) 2019.06.10
[#4 연산] 컴퓨터에게 일을 시켜보자  (1) 2019.05.14
[#3] 변수란?  (0) 2019.05.13
Comments