반응형
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 |