Day05 - 반목문 While

2021. 2. 19. 12:13JAVA 공부

오늘ㄹㄹㄹㄹㄹㄹ른 불금 !~

반복문 While

while ( boolean 형태의 조건문 ){

       조건문이 true일 경우 실행

}

 

반복문 이기 때문에, 조건문이 false가 되도록 설정해주어야 반복문에서 빠져나올 수 있습니다

어떻게 쓰는지 한번 예제를 볼게요

1. 제어변수를 선언 및 초기화를 해줍니다 ( 반복문의 false 조건을 만들기 위해서 )

2. while ( 조건문 ) -> 조건이 언젠가 false 가 되도록 해주어야 합니다

3. 제어변수의 값을 조건이 언젠가 false 가 되도록 연산을 해줍니다.

이렇게 a의 값은 1부터 10까지 나오게 됩니다 -> 10번 반복이 되는 걸 확인 할 수 있죠

그러면 응용을 해봅시다. 1 ~ 10 까지 수를 더하는 피보나치 수열을 만들어 봅시다

a 가 1일 때, sum = sum + 1;

a 가 2일 때, sum = sum + 2;

.

.

.

a 가 10일 때, sum = sum + 10;

이 되겠죠

두 번째 예제를 한번 봅시다, 입력받은 값 까지의 짝수 개수를 구하시오

짝수의 개수를 누적시켜줄 변수를 선언 및 초기화 합니다 -> int count = 0;

입력받은 수만큼 반복 -> while ( i <= num )

짝수인지 아닌지 검사 -> if ( i % 2 == 0 )

이렇게 풀어볼 수 있었습니다.

 

세 번째 예제를 한번 봅시다

조건문 안에 들어와야 하는 형태는 이렇게 크다 작다 뿐 아니라 ==  (같다) , != (아니다) 도 들어올 수 있습니다.

예제에서는 소수인지 아닌지 판별하는 코드가 작성이 되어 있는데요

소수란 - 1과 자기자신 으로만 약분을 가지는 수 입니다 ex ) 2, 3, 5, 7, 13 .....

 

while ( num % i != 0)   -> 입력받은 num을 i로 나누었을때 나머지가 0일때까지 반복

num 을 i 로 나누었을때 나머지가 0이라는건 i 가 num 의 약분 이라는 의미 입니다.

즉. 더 이상 약분할 수 없을 때까지 반복을 하는 거죠. 예를 들어 num에 13이 들어가게 될경우

13 % 2 = 1 , 13 % 3 = 1 , 13 % 4 = 1, 13 % 5 = 3, 13 % 6 = 1 ..... 13 % 13 = 0 까지 반복하게 되죠

그러면 i는 13인 상태에서 반복문을 빠져나가게 되고, 입력받은 값 num 과 같으면 소수 라는 뜻 입니다.

이어서 네 번째 예제도 한번 보도록 합시다

이번에는 값을 입력받는 int num = scan.nextInt() 가 while 문 안에 있음을 확인 할 수 있습니다

그러면 while 문이 반복 되는 동안 계속 정수형 값을 입력 받겠죠

여기서는 10번 동안 값을 입력받고, 그 수를 더해주는 코드 입니다.

마지막으로 다섯 번째 예제를 한번 봅시다

배열은 index 번호가 0부터 시작하기 때문에 i는 0을 넣어 줬습니다.

배열의 길이만큼 반복을 하게 됩니다 -> while ( i < arr.length )

그 외는 위에 있는 예제들이랑 똑같네요

 

 

이렇게 반복문 While 에 대해 알아 봤습니다

 

고생하셨습니다

'JAVA 공부' 카테고리의 다른 글

Day06 - 반목문 for , swap  (0) 2021.02.22
Day06 - 반목문 do while  (0) 2021.02.22
Day04 - Switch (스위치문)  (0) 2021.02.19
Day 04 - if 문  (0) 2021.02.18
Day 04 - 입력 Scanner  (0) 2021.02.18