연습장/이론

Kotlin_ 2-1. 배열, 조건문

아이른 2024. 2. 14. 18:10

1. 배열(Array)

  • 값이 두 개 이상인 값을 그룹화하는 방법
  • 배열의 크기는 고정되어 있어 크기를 초과하여 배열에 요소를 추가 X
  • 한번 선언하면 다른 자료구조보다 빠른 입출력이 가능
  • 인덱스를 통해 배열 요소에 값을 할당할 수 있고, 할당된 값을 사용 가능
//전용함수
arrayOf<T>()

//특정한 크기의 공간을 가지는 비어있는 배열을 만들 때 사용
arrayOfNulls<T>()
  • 활용 구문
//새 요소 업데이트
var intArr = arrayOf(1,2,3,4,5)
var nullArr = arrayOfNulls<Int>(5)

intArr[2] 
println(intArr[4])//5
    
//두 배열을 + 연산자를 사용하면, 각 배열의 요소가 모두 포함된 새 배열이 생성
val lastName = arrayOf("kim","park","kang")
val firstName = arrayOf("Lany","Huny","Mony")
val fullName = lastName + firstName

println(fullName[0])//kim
println(fullName[1])//park
println(fullName[2])//kang
println(fullName[3])//Lany
println(fullName[4])//Huny
println(fullName[5])//Mony

 


2-1. 조건문 if - else

  • 만약 ~ 한다면. if문에 주어진 값이 '참'이라면 따라오는 구문을 실행하는 기능
  • 참과 거짓을 이용하여 프로그램에서 실행할 구문을 나누어주는 역할
fun main(){
 var i = 5
 if (i > 10){
   print("10보다 크다")
 } else if ( i > 5 ){
   print("5보다 크다")
 } else{
   print("")
 }
}
fun main(){
 var i = 5
 when{
  i > 10 -> {
    print("10보다 크다")
  }
  i > 5 -> {
    print("5보다 크다")
  }
  else -> {
    print("")
  }
 }
}
Alt + Enter -> 상호변환 Replace 'if' with 'when'

 

2-2. 다중조건문 when

  • if가 참과 거짓만을 비교할 수 있는 반면, when은 하나의 변수를 여러개의 값과 비교할 수 있다는 장점
when을 조건에 맞는 동작을 하는 조건문 when의 조건으로 동작 대신 값을 써주는 조건문
fun main(){
    dowhen(1)
    dowhen("아이른")
    dowhen(12L)
    dowhen(3.14)
    dowhen("when")
}

fun dowhen(a:Any){
    when(a){
        1 -> println("정수는 1입니다")
        "아이른" -> println("Stirng타입 입니다")
        is Long -> println("Long타입 입니다")
        !is String -> println("String타입이 아닙니다")
        else -> println("어떤 조건도 만족하지 않는 else값도 사용가능")
    }
}
fun main(){
    dowhen(1)
    dowhen("아이른")
    dowhen(12L)
    dowhen(3.14)
    dowhen("when")
}

fun dowhen(a:Any){
   var result = when(a){
        1 -> "정수는 1입니다"
        "아이른" -> "Stirng타입 입니다"
        is Long -> "Long타입 입니다"
        !is String -> "String타입이 아닙니다"
        else -> "어떤 조건도 만족하지 않는 else값도 사용가능"
    }
   println(result)
}
<print> 
정수는 1입니다
Stirng타입 입니다
Long타입 입니다
String타입이 아닙니다
어떤 조건도 만족하지 않는 else값도 사용가능
 <print>
정수는 1입니다
Stirng타입 입니다
Long타입 입니다
String타입이 아닙니다
어떤 조건도 만족하지 않는 else값도 사용가능
  • 등호나 부등호의 사용은 불가능
  • 여러개의 조건이 맞을 경우에도 먼저 부합하는 조건이 실행

'연습장 > 이론' 카테고리의 다른 글

클래스 3. 클래스 상속  (0) 2024.02.15
Kotlin_ 3-1. 반복문  (0) 2024.02.15
Kotlin 연산자 이론  (0) 2024.02.07
미션 리스트_ 앱개발 용어정리 1, 2  (0) 2024.01.31
Kotlin_ 7. 지연 초기화  (0) 2024.01.29