관리 메뉴

hyeals study

코틀린 기초(10) - 이터레이션: while & for 본문

코틀린

코틀린 기초(10) - 이터레이션: while & for

hyeals 2020. 2. 4. 22:03

코틀린의 특성 중 자바와 가장 비슷한 것이 이터레이션임.

 

[while loop]

 

* 코틀린에는 while과 do-while 루프가 있음. (이 두개는 자바와 같음)

 

while 루프 구조

위의 코드 처럼 구조가 자바와 다르지 않음. 기능도 마찬가지.


[for 루프]

 

  • 코틀린의 for 루프는 자바의 for-each루프에 해당하는 형태만 존재.
  • 코틀린의 for 루프에서는 범위(range)를 사용함.

* 범위: 두 값으로 이루어진 구간

 

범위 선언

위의 코드처럼 ..연산자로 시작 값과 끝 값을 연결해서 범위를 만듦

따라서 위의 oneToTen은 1부터 10까지라는 뜻의 범위임.

 

이제 범위에 있는 값을 for 루프를 통해 차례로 출력하는 코드를 작성할 것임. 

 

for 루프 예시

위와 같이 범위를 이용해서 for 루프를 간단히 작성할 수 있음.

 

출력 결과

이번엔 10부터 역방향으로 짝수만 출력하는 코드를 작성할 것임.

 

for 루프 예시 (2)

  • 10 down To 1: 역방향 수열을 만듦
  • step 2: 범위의 증가값을 1에서 2로 바꿈 (역방향이기 때문에 실제로는 -1에서 -2로 바꾼 것)

출력 결과

* 또한 ..연산자는 항상 범위의 끝 값을 포함하기 때문에 끝 값을 포함하고 싶지 않을 때until함수를 사용하면 됨.

 

다시 말해서,

until 예시

위와 같은 코드 작성이 가능함

 


[in 연산자]

 

: in 연산자를 이용하면 어떤 값이 범위에 속하는지 검사할 수 있으며, !in을 이용하면 어떤 값이 범위에 속하지 않는지를 검사할 수 있음.

 

예를 들어, 아래와 같이 어떤 문자가 범위에 있는 문자에 속하는 지를 검사하는 코드를 작성할 수 있음

 

in 범위 검사 예시

  • 'a'..'z'처럼 문자도 범위로 지정할 수 있음. (컬렉션도 마찬가지)
  • isLetter 함수: in 이용해서 검사
  • isNotDigit 함수: !in 이용해서 검사

출력 결과

* in과 !in 연산자는 when식 에서도 사용 가능

 

when에서 in 사용 예시

위의 코드처럼 간단히 사용 가능

출력 결과

 

 

 

본 게시물은 "Kotlin IN ACTION"을 참고함.

Comments