코틀린 3-1 변수와 함수 선언

hong030·2022년 1월 29일
0
//변수 선언할 때 var은 변수, val은 고정값
val d1 : Int = 10
var d2 : Int = 20

//만약 변수를 바로 지정하지 못한다면
//1. lateinit 지정, 단 var String만 가능.
lateinit var s1:String

//2. by lazy 키워드로 묶기.
val d4 : Int by lazy{
	println("lazy")
    10
}
fun main(){
	println(d4+10)
}


//함수에서도 반환형 표현하기
//단, 파라미터는 자동으로 val 적용되어 값을 변경할 수 없음.
fun sum(data:Int):Int{
	var sum :Int= 0
    //data = 3 오류!!
    for(i in 1..data){
    	sum+=i
    }
    return sum   
}

//단, 널 형은 특수 표시 필요
var data1:Int? = null 

//Array는 배열 표현.
val data:Array<Int> = Array(3, {0})
val data=arrayOf<Int>(0,0,0)
val data=intArrayOf(0,0,0)
//data = {0,0,0}이다.
data[0] = 10
data.set(2,30)
//data = {10,0,30}
data.get(2) //30 값 반환.
data.size //3반환

//list, set, map은 불변 타입이지만 mutable은 가변.
//List: inorder 중복 허용
var list = listOf<Int>(1,2,3)
list.get(1) //2 반환
list[0] //1 반환
var mutableList = mutableListOf<Int>(1,2,3)
mutableList.add(3,4)
mutableList.set(0,5)
mutableList.get(0) //5 반환

//set: unorder 중복 허용x

//map: unorder, key-value, key 중복 허용x
var map=mapOf<String, String>(pair("one", "hello"), "two" to "world")
map.size //2반환
map.get("one") //hello 반환
map.get("two") //world 반환
profile
자바 주력, 프론트 공부 중인 초보 개발자. / https://github.com/hongjaewonP

0개의 댓글