package com.rodunstudio.kotlinbasic.Example 

fun main(args: Array<String>) 
{ 
  // 1. When 사용법 
  var value: Int? = 3 
  when( value ) 
  { 
      1 -> println("value는 1이다.") 
      2 -> println("value는 2이다.") 
      3 -> println("value는 3이다.") 
      else -> 
      { 
          println("값을 알수없다.") 
          value = null 
      } 
  } 

  // 2. When의 반환값 
  val value2 = when(value) 
  { 
      1 -> 11 
      2 -> 22 
      3 -> 33 
      else -> null 
  } 

  // 2-1. 값을 return하는 when은 모든 경우의 수에도 값을 return하도록 구성해야 한다. 
  var BooleanCheck: Boolean? = null 
  val result1: Int = when(BooleanCheck) 
  { 
      true -> 2 
      false -> 3 
      null -> 0 // 위의 Boolean변수가 null을 포함하도록 선언 되었기 때문에 추가 
  } 

  // 3. 중복 조건(x, y, z)과 범위 설정 (in x..y) 
  val value3 = when(value) 
  { 
      1, 11, 21 -> 11 // 중복 조건은 ,(콤마)로 설정 가능 
      in 4..40 -> 44 // 범위 설정 ( 4 <= x <= 40 )을 뜻함 
      else -> null 
  } 

  // 4. Any Type: 어떤 Type으로도 변할 수 있는 Type 
  // 4-1. is 구문: 변수의 Type을 묻는 구문 
  val value4: Any? = null 
  when (value4) 
  { 
      is Int -> 20 
      is Float -> 5.5f 
      is Double -> 10.55 
      is Boolean -> true 
      else -> println("Type을 알수없다.") 
  } 
  println(value4) 

} 
fun main (args: Array<String>) 
{ 
    var a: Int = 5 
    var b: Int = 7 

    // 1. if문: 괄호안의 조건이 참(true)경우 중괄호안의 내용을 실행한다. 
    if(a < b) 
    { 
        println("a가 b보다 작을 경우 실행") 
    } 

    // 2. else 문: 괄호안의 조건이 거짓(false)일 경우 else문 중괄호안의 내용을 실행한다. 
    // else문 혼자서만 사용될수 없고 반드시 if문 하위에 존재 하여아 한다. 
    if( a > b ) 
    { 
        println("a가 b보다 클 경우 실행") 
    } 
    else 
    { 
        println("a가 b보다 작거나 같을 경우 실행") 
    } 

    // 3. else if문: 참인 조건을 검사하는 if문을 중첩한다. 
    if( a > b ) 
    { 
        println("a가 b보다 클 경우 실행") 
    } 
    else if( a == b ) 
    { 
        println("a와 b가 같을 경우 실행") 
    } 
    else 
    { 
        println("위의 두 조건이 모두 거짓(false)이면 실행") 
    } 

    // 4. Return 값을 가지는 if문 
    // 모든 경우의 수를 만족해야 하기때문에(null safe) else문으로 마무리를 해주어야 한다. 
    val result = if(a > b) 
    { 
        "a가 b보다 크다." 
    } 
    else 
    { 
        "a가 b보다 작거나 같다." 
    } 
    println(result) 

    // 4-1. 간단하게 표기 
    val result2 = if(a > b) a else b 
    println(result2) 

    // 5. 엘비스 연산자: 대입할 변수가 null일 경우를 대비하는 연산자 
    val number: Int? = null 
    val number2 = number ?: 10 // <- 변수 number가 null일 경우 10일 대입한다. 
    println(number2) 
  
} 

'Android > Kotlin' 카테고리의 다른 글

kotlin 09. Array (배열)  (0) 2020.08.11
kotlin 08. Control flow 2 (제어흐름 when)  (0) 2020.08.11
kotlin 06. Operator (연산자)  (0) 2020.08.11
Kotlin 05. Function (내부함수)  (0) 2020.08.11
Kotlin 04. Function (함수, Method)  (0) 2020.08.11

+ Recent posts