Home 조건문과 반복문
Post
Cancel

조건문과 반복문

조건문

if문 설명은 생략

is 연산자 (!is)

  • 자료형이 해당 자료형인지 체크할 때
  • a is Int: 좌측 변수가 우측 자료형에 호환되는지 여부를 체크하고, 형변환까지 한번에 진행시켜주는 똑똑한 연산자

    다중 조건문 When

  • switch문을 좀 더 편리하게 바꾼 기능
  • 하나의 변수를 여러 개의 값과 비교
  • 등호나 부등호 사용 불가능
  • 여러 개의 조건이 맞아도 먼저 부합하는 조건 실행
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
fun main() {
    var a = 7
    if(a>10){
        println("a는 10보다 크다")
    }
    else{
        println(" 거짓")
    }
    
    doWhen(1)
    doWhen("Hello")
    doWhen(3.14)
    doWhen(12L)
    doWhen("Kotlin")
    doWhen(12)
}

fun doWhen(a: Any){ 
    //Any: 어떤 자료형이든 상관없이 호환되는 코틀린의 최상위 자료형
    when(a){
        1 -> println("정수 1입니다.")
        "Hello" -> println("Hello 입니다.")
        is Long -> println("Long 타입 입니다.")
        !is String -> println("String 타입이 아닙니다.")
        else -> println("어떤 조건도 만족하지 않습니다.") //switch의 default
    }

    // 아래와 같이 println 생략하면 그 값을 반환하여 변수에 할당하거나 직접 값으로서 사용 가능
    var result=when(a){
         1 -> "정수 1입니다."
        "Hello" -> "Hello 입니다."
        is Long -> "Long 타입 입니다."
        !is String -> "String 타입이 아닙니다."
        else -> "어떤 조건도 만족하지 않습니다."
    }
    print(result)
    
}

반복문

종류

  1. 조건형 반복문
    • 조건이 참인 경우 반복 유지
    • while, do while
    • 조건과 관계 없이 반드시 ‘한 번은’ 실행해야 한다면 do while문 사용
  2. 범위형 반복문
    • 반복 범위를 정해 반복 수행
    • for
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
fun main() {
  var a = 0
  while(a < 5){
    println(a++) 
  } // 0 1 2 3 4 

  do{
    prinln(a++)
  }while(a< 5) // 0 1 2 3 4

  // var 안 붙여도 됨
  // 0<=i<=9
  for(i in 0..9){
    print(i)
  }
  for(i in 0..9 step 3){ // step 3씩 증가
    print(i)
  }
  for(i in 9 downTo 0){ // 9부터 0까지 감소
    print(i)
  }
  for(i in 9 downTo 0 step 3){
    print(i)
  }
  for(i in 'a'..'e'){
    print(i)
  } // a b c d e
}