공부 자료

 

https://www.youtube.com/watch?v=gJJVLju4XS0&list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN&index=5

 

하루에 딱 2개만 성실하게 배우도록 하자.

 

아직은 어려운 것 같다.

 

 

조건문? 비교연산자?

 

조건문은 간단히 if문이다. if문은 조건이 참일 경우 따라오는 구문을 실행하는 기능을 가진다.

 

fun main() {

  var a = 7        ------> 변수를 만들고

  if(a > 10) {        -------> a가 10보다 클 때

    println("a는 10보다 크다")        -------> "a는 10보다 크다"라고 출력한다.

  }

 

}

 

이렇게만 한다면, 조건이 거짓이기 때문에 아무것도 실행되지 않는다.

 

이럴땐, else가 필요하다.

 

fun main() {

  var a = 7

  if(a > 10) {

    println("a는 10보다 크다")

  }

  else {

    println("a는 10보다 작거나 같다") ------> 그 외의 경우 "a는 10보다 작거나 같다"를 출력한다.

 

}

 

조건이 참일 경우 (a 값이 10보다 클 경우)는 "a는 10보다 크다"가 출력될 것이다.

 

 

이런 조건을 걸 때, 비교연산자라는 것을 사용한다.

 

비교연산자의 종류

 

부등호

 

<(작다) <=(작거나 같다) >(크다) >=(크거나 같다) !=(같지 않다)

 

등호

 

==(같다) [=은 값을 할당한다는 뜻이므로 =를 두번 쳐서 같다고 표시한다.]

 

자료형이 맞는지 틀린지 체크하는

 

is(맞는지) !is(틀린지)

 

[a is Int -> a의 자료형이 Int이다.] <- 형변환까지 한번에 시켜줌

 

등이 있다.

 

 

 

다음으로 다중 조건문을 알아보자.

 

다중 조건문은 if가 참과 거짓만을 비교할 수 있는 반면 when은 하나의 변수를 여러개의 값과 비교할 수 있다는 장점이 있다.

 

fun main() {

 

  doWhen(1)

  doWhen("DiMo")

  doWhen(12L)               --------------> doWhen이라는 함수에 이 값을 할당한다.

  doWhen(3.14159)

  doWhen("Kotlin")

 

}

 

fun doWhen (a: Any) {       ----------------> doWhen이라는 함수를 만들고, 패러미터 a를 만든다.

 

  when(a) {

        1 -> println("정수 1입니다.")     -------------> 1일 경우 출력

        "DiMo" -> println("디모입니다.")      ---------------> "DiMo"일 경우 출력

        is Long -> println("Long 타입 입니다.")  ----------------> Long타입일 경우 출력

        !is String -> println("String 타입이 아닙니다.")    ---------------> String타입이 아닐 경우 출력

        else -> println("어떤 조건도 만족하지 않습니다.")   -------------->그 외의 경우 출력

  }

 

}

 

결과는 직접 알아보면 된다.

 

이제까지 when이 조건문으로 사용되는 것을 보았고,

 

when은 또한 표현식으로도 사용이 가능하다.

 

직접 값으로 사용하려면,

 

1 -> println("정수 1입니다.")    

"DiMo" -> println("디모입니다.") 

 

이 상태에서

 

1 -> "정수 1입니다"

"DiMo" -> "디모입니다"

 

이렇게 사용해주면  변수에 할당하거나 직접 값으로서 사용할 수 있다.

 

 

fun main() {

 

  doWhen(1)

  doWhen("DiMo")

  doWhen(12L)  

  doWhen(3.14159)

  doWhen("Kotlin")

 

}

 

fun doWhen (a: Any) {      --------------------->doWhen이라는 함수가 작동하면

 

  var result = when(a) {      ---------------------> result라는 변수 안에 when(a)를 넣는다.

        1 -> "정수 1입니다."

        "DiMo" -> "디모입니다." 

        is Long -> "Long 타입 입니다." 

        !is String -> "String 타입이 아닙니다."   

        else -> "어떤 조건도 만족하지 않습니다." 

  }

 

}

 

 

열심히 공부하자 화이팅 ㅋ.ㅋ

Posted by 노꼴甲
,