본문 바로가기

모바일 APP/Android with Kotlin20

조건문 기본적으로 많이 사용하는 조건문 var data = 1 if(data > 1) { println('data > 1') } else if (data > 0 && data 0) { println('success') true } else { println('fail') false } println(result) } // 결과 // success // true When 조건문 스위치 구문과 비슷한데 왜 만드건지? 소괄호 ( ) 안에 넣은 데이터가 조건이 되고 이값에 따라 각 구문을 실행한다. - 정수가 아닌 다른 타입의 데이터를 지정도 가능하다. - 조건문을 생략해서 사용도 가능하다 - else문을 생략도 가능하다. var data = 1 when(data) { 1 -> println('it is 1') 2 -.. 2021. 12. 14.
컬렉션 타입 여러 개의 데이터를 표현하는 방법이며 Array, List, Set, Map이 있음 fun main() { val data: Array = Array(3, {0}) // 람다함수 초기값 0 3개 만들기 data[0] = 10 data[1] = 20 data.set(2, 30) // 3번째 인덱스 데이터 30으로 설정 println (""" size: ${data.size} data: ${data[0]}, ${data[1]}, ${data.get(2)} """) } // 결과 // size : 3 // data: 10, 20, 30 fun main() { val data: arrayOf(10, 20, 30) // 크기가 3인 Int 배열 선언 및 할당 println (""" size: ${data.size.. 2021. 12. 13.
데이터 타입 코틀린의 모든 변수는 객체 기초 데이터 타입 아니라 클래스 이다 fun fun() { var data1: Int = 1 var data2: Int? = null // null 가능 data1 = data.plus(1) // 객체의 멕서드 이용 가능 } val a: Byte = 0b00123456 val a: Short = 1 val a: Long = 10L val a: Double = 10.0 val a: Float = 10.0f val a: Boolean = true val a: Char = 'a' // 문자는 작은 따옴표 val a: "hello \n hell " // 문자열은 쌍따옴표 val a: """ hello hell """ // 삼중따옴표 .trimIndent()함수가 자동 추가되어 문자열 .. 2021. 12. 13.
초기화 미루기 변수를 선언할 때 초깃갑을 할당할 수 없는 경우가 있다 이때 값을 이후에 할당할 것이라고 컴파일러에게 알려주어야 한다. lateinit나 lazy 키워드를 이용한다. lateinit (늦은 초기화?) 선언한 변수는 선언과 동시에 초깃값을 할당하지 않아도 되지만 모든 유형의 변수 선언에 사용할수 없는 2가지 규칙이 있다. - lateinit은 var 키워드로 선언한 변수에만 사용 가능 - Int, Long, Short, Double, Float, Boolean, Byte 타입에는 사용 불가 lateinit val data1:String // error!!! lateinit var data1:String // success !!! lazy (게으른?) 변수 선언문 뒤에 by lazy { } 형식으로 선언 소.. 2021. 12. 13.