Kotlin 문법: "while 문"

SHY(code poet)·2024년 1월 24일

while문: 조건식 사용하여 특정 조건이 만족할 때까지 코드 반복 ⇒ 반복가능한 if문

a. 기본 while 반복문
while (조건식) {
// 실행 코드
}

  • 괄호 안의 조건식에는 주로 두 항과 비교 연산자 사용
  • (조건식)안의 결과가 항상 true 이면, {코드블록} 이 끝없이 동작하는 무한루프에 빠진다.
  • 그리하여, 아래와 같이 범위를 확실하게 정해주는 것이 좋다. 혹은 반복문 제어.
    ※ 실행 후 멈추기 위해서는 우측 상단에 있는 빨간색 사각형 아이콘(Stop)을 클릭하면 된다.

var current = 1
var until = 12
while (current < until) {
Log.d("while", "현재 값은 ${current}입니다.")
current = current + 1 // 먼저 로그를 출력한 후, current에 1을 더하고 조건식 반복 실행됨.
}

  • for문과는 다르게 증감되는 인덱스가 있으면 코드에서 직접 처리해야 하나.
  • 이 코드에서는 current 변수가 인덱스의 역할을 하고 있다.
  • current가 until에 입력된 12보다 작을 때까지 총 열한 번이 반복된다.
    ㄴQ. 열번 아닌가?
    A. 로그가 먼저 찍힌다는 것에 유의하자. 로그가 11번째 찍힐 때 비로소, current 값이 12가 되어 반복문이 멈춘다. 즉, 12 < 12 가 되어. 반복문이 확실히 멈춘다는 신호가 있 고 나서야 반복문이 정말 멈추는 것이다.
    b. do와 함께 사용하기
    : while문의 조건식과 관계없이 do 블록 안의 코드를 한 번 실행한다.
    var game = 1
    var match = 6
    do {
    Log.d("while", "${game}게임 이겼습니다. 우승까지 ${match-game}게임 남았습니다.")
    game +=1
    } while (game < match)

※ while과 do ~ while의 차이점
가장 큰 차이점은 최초 값이 조건식을 만족하지 않았을 경우 실행 코드가 달라지는 것.
위 코드에서 변수 game의 시작 값을 6으로 변경한 후 while과 do ~ while로 실행해보면 while에서는 아무것도 출력되지 않는 반면, do ~ while에서는 조건과 상관없이 처음 한번 로그가 출력된다.

// 위 코드에 이어서
var match = 6
game = 6
while (game < match) {
Log.d("while", "while 테스트입니다.")
game +=1
}
// do ~ while 테스트
var match = 6
var game = 6
do {
Log.d("while", "do ~ while 테스트입니다.")
game += 1
} while (game < match)

profile
진정한 개발자는 코드를 두려워하지 않는다. 오히려 코드가 그를 두려워한다.

0개의 댓글