Kotlin/ 조건문

yellow·2021년 4월 6일
0

Kotlin

목록 보기
4/13

if문

  • C언어에서 사용하는 if(-else if - if)문과 똑같다.
if(조건1){
	...
}else if(조건2){
	...
}else{
	...
}

📌 값을 리턴하는 if

  • 해당 if문은 무조건 값을 리턴해야한다.
//틀린 코드
var num = if(a > b){
        a
}else if(a == b){
        b
}
// a < b인 경우에는 if문이 아무 값도 리턴하지 않기 때문에
// 이런 경우를 막기 위해 else문을 꼭 추가해줘야 한다.
  • 예시
    : 두 수를 비교해서 더 큰 값을 변수 max에 넣기
	var max = if(a > b){
    		a
    	}else{
        	b
        }
        
        // var max = if(a > b) a else b와 같음

📌 엘비스 연산자 ?:

  • 변수에 null값이 들어갔을 때 null값을 다른 값으로 변환해주는 연산
  • kotlin의 null 안정성과 관련
  • 예시
val number1: Int? = null
val number2: Int? = 100
        
val number3 = number1 ?: 10 // number5 == 10
val number4 = number2 ?: 10 // number4 == 100

when 구문

  • 다른 언어의 switch문과 같은 역할을 한다.
  • when구문 안에 들어가는 조건식은 꼭 true나 false일 필요가 없다.
  • when 구문은 조건으로 갖는 값(예시에서 value)의 모든 경우에 대응해주는 것이 좋다. (else를 써주는 습관을 가지면 좋을듯!!)
  • 중괄호 내의 코드가 간단하면 역시 중괄호 생략 가능하다.
  • 예시
val value: Int = 3
    
when(value){
      1 ->{
           println("value가 1입니다.")
      }
      2 -> {
           println("value가 2입니다.")
      }
      3 -> {
           println("value가 3입니다.")
      }
      else -> {
           println("value는 모르는 숫자입니다.")
      }
}

📌값을 리턴하는 when

  • 예시
val value: Int = 3
val value2 = when(value){
    	1 -> 10
        2 -> 20
        3 -> 30
        else -> 100
}

📌when구문의 다양한 조건식

is연산자와 함께 사용하는 when구문

  • is연산자는 변수의 타입을 묻는 연산자이다.
  • Boolean값으로 리턴
val value: Int = 5
when(value){
    	is Int ->{
            println("value is Int")
        }
        else ->{
            println("value is not Int")
        }
}	

in연산자와 함께 사용하는 when구문

  • in연산자는 변수가 특정 범위 내에 있는지 묻는 연산자이다.
  • Boolean값으로 리턴
val value: Int = 5
    when(value){
        in 1..10->{
            println("value is in 1-10")
        }
        in 11..20->{
            println("value is in 11-20")
        }
        else->{
            println("value is not in 1-20")
        }
}
profile
할 수 있어! :)

0개의 댓글