코딩 연습장/JAVA

자바로 코딩해보기(기초 7) - 반복문

Do아 2021. 3. 15. 16:48
728x90

기록 #9

2020.06.02(화)

자바에서 반복문

※ 자바에서 조건문 참고 ※

https://blog.naver.com/ehdk1409/221986468213

자바로 코딩해보기(기초 6) - 조건문

기록 #82020.06.01(월)자바에서 조건문​​​​​※자바에서 비트연산자, 쉬프트 연산자 참고※https://blo...

blog.naver.com

반복문 - while문, do- while문, for문

while문 - 괄호안에 반복조건이 만족되는 동안에는 반복

조건이 만족되지 않으면 반복문 탈출

ex) while(조건){...}

do while문 - while문과 마찬가지로 조건이 만족되는 동안 반복,

조건이 만족되지 않으면 반복문 탈출

* while문과의 차이점은 do-while문은 조건이 맞든 틀리든 맨처음 한번은 수행

ex) do { ...} while(조건)

for문 - 조건 범위를 정하고 몇번 반복할 것인지 정할 수있다

ex) for( int i=0; i<=8; i++){ ...}

 

반복문 문제!

참고: 책<난 정말 자바를 공부한적이 없다구요>

*책의 코딩과 다를 수 있음*

문제 1

1부터 99까지의 합을 구하는 프로그램을 작성하되 while 문을 이용해서 작성해 보자.

문제2

1부터 100까지 출력을 하고 난 다음에, 다시 거꾸로 100에서부터 1까지 출력을 하는 프로그램을 작성해 보자. 단 while문과 do~while문을 각각 한번씩 사용해서 구현해야 한다.

문제 3

1000이하의 자연수 중에서 2의 배수이면서 7의 배수인 숫자를 출력하고, 그 출력된 숫자들의 합을 구하는 프로그램을 while문을 이용해서 작성해보자

문제 4

1부터 10까지를 곱해서 그 결과를 출력하는 프로그램을 for문을 이용해서 작성하자.

문제5

구구단 중 5단을 출력하는 프로그램을 for문을 이용해서 작성하자.

문제 6

구구단의 짝수 단(2.4.6.8단) 만 출력하는 프로그램을 작성하되, 2단은 2*2까지,

4단 4*4까지 6단은 6*6까지, 8단은 8*8까지만 출력하도록 구현하자.

문제 7

*

***

*****

*******

반복문을 사용하여 위에 별표모양을 출력해 보자.

해설

- 책과 다를 수 있음-

문제1

while의 조건은 n이 0부터 99까지만족

처음은 0+0

두번째는 0+1

세번째는 1+2

네번째 3+4

다섯번째 7+5

...

마지막은 4851+99

문제2

첫번째 while문은 1~100까지 출력

num1이 첫번째 while문을 다 수행하고 나면 101이 되기 때문에 num1-1을 해서

100으로 만들어 줬습니다.

두번째 do-while문은 num1이 100이여서 100~1까지 출력

문제3

while의 조건은 1에서 1000까지

만약 2와 7로 나눈 나머지가 0이면 2와 7의 배수라는 뜻이니

그런경우 sum에 num2를 더해주면 됩니다.

문제4

for문을 사용하여 1부터 10까지 반복

첫번째 반복 1*1

두번째 1*2

세번째 2*3

네번째 6*4

다섯번째 24*5

...

마지막 결과 3628800

문제5

5단만 출력하면 되기 때문에 result에 5를 고정

for문으로 1부터 9까지 반복

문제6

이중 for문을 사용

첫번째 for문은 i에 2씩 더해가며 2부터 8까지 반복

2, 4, 6, 8

두번째 for문은 j의 범위를 i까지로 해주게 되면

첫번째 for문이 2일때, 두번째 for문은 2번반복

첫번째 for문이 4일때 두번째 for문 4번 반복

...

문제7

이 문제는 처음 코딩할때 머리아팠던 문제였는데

어렵다면 각각 몇번을 반복하면 되는지 종이에 써보는것도 나쁘지 않은 방법입니다.

전체가 줄이 4번이 반복돼야하고

*은 마지막에 7개가 출력되야하고

빈칸은 첫번째가 3개 2개 1개 0개 이런식으로 나와야합니다

저는 좀 복잡하게 만들었는데

첫번째 for문을 1부터 4까지 반복

두번째 for 문은 빈칸을 출력할 수 있겠끔 3부터 0까지반복

세번째 for문은 *를 출력하는데 칸이 넘어갈수록 2개씩 증가해서 총 7개가 나와야하므로

r을 2씩증가시켜서 1, 3, 5, 7개의 *이 나오도록 해주었습니다.

다음번에는 자바의 메소드에 대해서 공부해 보겠습니다.^^

728x90