2021. 2. 19. 12:13ㆍJAVA 공부
오늘ㄹㄹㄹㄹㄹㄹ른 불금 !~
반복문 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 |