Kotiln 문법 뿌시기2 (list, array, if, when)

💜Dabo (개발자 다보)·2023년 4월 12일
0
post-thumbnail

들어가기 전 훑어보는 특징

  • 리스트 값을 수정 못하는게 있음..! 읽기만 가능한 리스트가 기본임.
    수정하려면 Mutable List(수정가능한 리스트)를 사용 해야 함
  • 삼항 연산자 없음
  • switch 대신 when 사용

list

: collection 자료형(내부 값)에 대해 가변과 불편 구분

  • 생성

    // 내부 값 수정 불가능
    val immutableList = listOf("A", "B", "C")
  • 값 가져오기
    : 아래 3가지 방법 다 동일함, 리스트[0]로 작성된 첫번째 방법이 자주 쓰임

    immutableList[0]
    
    // or
    immutableList.get(0)
    
    // or
    
    immutableList.first
  • 값 변경

    val immutableList = listOf("A","B","C")
    
    // error
    immutableList[0] = "Foo"
    
    // error
    immutableList.add("Foo") 

    listOf로 할당 받은 리스트는 내부 값 변경 불가

    그러면? 아래와 같이 변경가능한 리스트로 선언 mutableListOf() 후 수정

    val mutableList = mutableListOf("A", "B", "C")
    
    // 0번째 인덱스 값 변경
    mutableList[0] = "1";
    
    // 마지막 인덱스 값 추가
    mutableList.add("D")
    
    println(mutableList) // [1, B, C, D]

array

: 배열, 사이즈 할당 필요하고 메모리 할당 이미 되서 나옴

  • 생성
    // 내부 값 수정 가능
    val myArray = arrayOf("A", "B", "C")
    값 가져오기와 값을 변경하는 코드는 mutableList와 동일합니다.

if

fun maxBy(a:Int,  b:Int):Int {
	if(a>b) {
		return a;
	} else{
		return b;
	}
}

위 코드를 아래와 같이 한줄로 표기 가능

fun maxBy(a:Int,  b:Int) = if(a>b) a else b
  • 3항연산자 없음 ! 대신에 if(조건) a else b로 사용

when

유사 스위치

fun checkNumber(score: Int) {
	when(score){
		0 -> println("0")
		1 -> println("1")
		2,3 -> println("2or3")
		4..10 -> println("4~10")
		else -> println("other")
	}
}
  • , 는 2또는 3
  • .. 는 4부터 10까지 4,5,6,7,8 과 동일
profile
𝙸 𝚊𝚖 𝚊 𝚌𝚞𝚛𝚒𝚘𝚞𝚜 𝚍𝚎𝚟𝚎𝚕𝚘𝚙𝚎𝚛 𝚠𝚑𝚘 𝚎𝚗𝚓𝚘𝚢𝚜 𝚍𝚎𝚏𝚒𝚗𝚒𝚗𝚐 𝚊 𝚙𝚛𝚘𝚋𝚕𝚎𝚖. 🇰🇷👩🏻‍💻

0개의 댓글