반응형
package com.example.mykotlin import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val result: Int = 3 print(result) Log.v("Crocus", "result : $result") // result = 4 // Can't change value var mutableResult: String = "hello" Log.v("Crocus", "mutableResult1 : $mutableResult") mutableResult = "world" Log.v("Crocus", "mutableResult2 : $mutableResult") var initValue: Int // print(initValue) // Can't build because of null var a: Int = 3 // a = null // Compile error, a must be not null var b: Int? = 4 // Int? -> can be null or not Log.v("Crocus", "b1 : $b") b = null Log.v("Crocus", "b2 : $b") Log.v("Crocus", "hello : ${b}") val aList: List<Int> = listOf(1,2,3) // aList는 불변 Log.v("Crocus", aList[2].toString()) // index에 해당하는 아이템을 출력한다. // aList.add(3) // 불변인 배열은 추가를 할 수 없다. // aList.remove(2) // 불변인 배열은 삭제를 할 수 없다. val bList: MutableList<Int> = mutableListOf(1,2,3) // mutableListOf()을 이용하여 변경 가능한 배열 생성 Log.v("Crocus", "bList1 : " + bList[2].toString()) // index에 해당하는 아이템을 출력한다. bList.add(4) print(bList) Log.v("Crocus", "bList2 : " + bList.toString()) bList.remove(2) // Log.v("Crocus", "bList3 : " + bList.toString()) print(bList) // [1, 3, 4] } }
2021-07-26 23:37:51.640 15493-15493/com.example.mykotlin V/Crocus: result : 3 2021-07-26 23:37:51.640 15493-15493/com.example.mykotlin V/Crocus: mutableResult1 : hello 2021-07-26 23:37:51.640 15493-15493/com.example.mykotlin V/Crocus: mutableResult2 : world 2021-07-26 23:37:51.640 15493-15493/com.example.mykotlin V/Crocus: b1 : 4 2021-07-26 23:37:51.640 15493-15493/com.example.mykotlin V/Crocus: b2 : null 2021-07-26 23:37:51.640 15493-15493/com.example.mykotlin V/Crocus: hello : null 2021-07-26 23:37:51.651 15493-15493/com.example.mykotlin V/Crocus: 3 2021-07-26 23:37:51.653 15493-15493/com.example.mykotlin V/Crocus: bList1 : 3 2021-07-26 23:37:51.653 15493-15493/com.example.mykotlin V/Crocus: bList2 : [1, 2, 3, 4] 2021-07-26 23:37:51.653 15493-15493/com.example.mykotlin V/Crocus: bList3 : [1, 3, 4]
var : 가변 변수
val : 불변 변수
var variable: Int? = 4 // ?를 이용함으로써 nullable 표현
MutableList<Int> // 가변 리스트를 만들 수 있다
확실히 자바만 하다가 코틀린 해보니 새로워보인다. 좀더 배우면 자바랑 호환이 되니 kt로 짜보는 습관도 들여야겠다
(요즘 모든 안드로이드 코딩테스트는 kt로 하더라 카더라..)
반응형
'Basic > Android' 카테고리의 다른 글
Android 캡처 방지 코드 (0) | 2022.01.28 |
---|---|
Bottom sheet dialog 드래그 방지 방법 (0) | 2021.09.03 |
Android BottomSheetDialog 크기 조절하기 (0) | 2021.07.10 |
Android 빠르게 BottomSheetDialog 만들기 (0) | 2021.07.08 |
post runnable과 layout과의 관계 (0) | 2021.06.28 |