create account

[kr-dev] 반복적인 동작을 위한 whale? while! - Java(7) by code91

View this thread on: hive.blogpeakd.comecency.com
· @code91 ·
$4.83
[kr-dev] 반복적인 동작을 위한 whale? while! - Java(7)
# [kr-dev] 반복적인 동작을 위한 whale? while! - Java(7)

오늘은 어제 작성한 포스팅 내용인
for문의 형제꼴 while을 준비해 보았습니다.

사실 for문은 while의 **부족한 단점을
보완**하기 위해 나온 명령어로 

while이 for문보다도
먼저 나온 명령어라고 합니다.

그럼 바로 while문에 대해서 알아보도록 하겠습니다.

![1111.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1521032741/qsqzyoyamy6h1h2nknnz.png)

while의 형태와 사용법은 for문과 비슷합니다.

**while(조건식) {
     실행할 코드;
}**
이며,

for문과 마찬가지로 **외부의 변수**를
사용할 수 있습니다.

위 코드를 살펴보면
외부에 i라는 이름을 가진 변수를
선언해주었습니다.

while은 외부에 선언된 i가
10보다 작을때까지 블록안의
코드를 실행하라는 의미입니다.

당연히 i가 10보다 작으므로 
블록안의 내용이 실행되고

1.i에 증감식 ++을 이용하여 1을 증가
2.메세지 출력
의 단계를 10번 반복하게 되는 것입니다.

![2222.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1521033092/jknwkefpcj3xjdkjchtj.png)

while문도 for문과 마찬가지로
**조건식이 true일때만** 블록안의 내용을
실행합니다.

그렇다면 조건식이 true일때는 어떨까요?
위의 사진처럼 무한 루프가 일어납니다.
조건식이 true일때 블록의 내용이 실행되는데

조건식이 계속 true이기 때문이지요 :)

![3333.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1521033436/xyb8wwxwhzrfosqfl8hw.png)

하지만 지난번 switch/case에서 정리한
보조 제어문(break)를 이용하면
이렇게 빠져나올 수도 있습니다.

출력문 다음에 break를 수행하며
다시 조건식이 아닌 명령문 밖으로
나와버리기 때문입니다 :)

![4444.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1521033828/kycyz0ecrv5dzbfozmlb.png)

그럼 당연히 다른 보조 제어문인
continue도 적용이 가능하겠죠?

위의 사진을 보시면
if문의 조건식이 성립되어 continue가 
실행되고

continue로 인하여
다음의 실행코드인 출력문이 실행되지 않고
다시 while문의 조건식으로 돌아가는 것을
보실 수 있습니다.

![5555.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1521034266/tnhomvwqifbccgy5au5x.png)

while문 이외에도
do~while이라는 제어문이 존재합니다.

do의 내용을 선실행하고
while의 조건식이 충족되었을 때
다시 do의 내용으로 돌아가 
코드를 실행시키는 방식이지요

사진을 보시면
do 블록안의 내용이 선 실행됩니다.
따라서 결과값으로 출력문이 1개 실행되고
i가 1증가하겠네요.

다음은 while의 조건식입니다.
do~while문 밖에 정수형 i를 0으로
초기화해주었고 do 블록안의
내용으로 1이 증가되었지만
조건식 i<2를 충족합니다.

따라서, 다시 do로 돌아가
do블록안의 내용을 실행합니다.

다시 문장이 출력되고
i는 1이 증가되어 2가 되겠네요 :)

다시 while의 조건 판별이 일어납니다.
하지만 i<2를 충족하지 못하여

프로그램이 종료되버리네요 :(

오늘은 while과 do~while에 대해서
다뤄보았는데요

현업에서는 for문과 while, do~while을
상황에 따라 적절히 사용한다고 하는데
아직 저는 개발을 배우는 입장이라
적재적소하는 방법은 잘 모르겠네요 :)

현재까지는 반복 실행할 코드가 있다면
for를 선호해서 사용합니다.

물론 간단한 조건이면 while을 사용하고 있습니다.
for와 while을 적절하게 섞어쓸 수 있을 때까지
개발은 계속됩니다 ! ~
👍  , , , , , , , , , , , ,
properties (23)
authorcode91
permlinkkr-dev-whale-while-java-7
categorykr-dev
json_metadata{"community":"busy","app":"busy/2.4.0","format":"markdown","tags":["kr-dev","busy","jjangjjangman","jiwon34","code91-java"],"image":["https://steemitimages.com/0x0/https://res.cloudinary.com/hpiynhbhq/image/upload/v1521032741/qsqzyoyamy6h1h2nknnz.png","https://steemitimages.com/0x0/https://res.cloudinary.com/hpiynhbhq/image/upload/v1521033092/jknwkefpcj3xjdkjchtj.png","https://steemitimages.com/0x0/https://res.cloudinary.com/hpiynhbhq/image/upload/v1521033436/xyb8wwxwhzrfosqfl8hw.png","https://steemitimages.com/0x0/https://res.cloudinary.com/hpiynhbhq/image/upload/v1521033828/kycyz0ecrv5dzbfozmlb.png","https://steemitimages.com/0x0/https://res.cloudinary.com/hpiynhbhq/image/upload/v1521034266/tnhomvwqifbccgy5au5x.png"]}
created2018-03-14 13:37:18
last_update2018-03-14 13:37:18
depth0
children0
last_payout2018-03-21 13:37:18
cashout_time1969-12-31 23:59:59
total_payout_value3.799 HBD
curator_payout_value1.030 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,059
author_reputation2,686,108,920,793
root_title"[kr-dev] 반복적인 동작을 위한 whale? while! - Java(7)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id44,374,456
net_rshares1,528,849,412,471
author_curate_reward""
vote details (13)