Front-End/Kotlin

[ Kotlin ] 기본문법 입출력, 자료형, 함수, 배열

psy_er 2024. 4. 3. 03:00
728x90

[ Kotlin ] 기본문법 입출력, 자료형, 함수, 배열

 

1. 입출력, 자료형

// 전역변수는 반드시 초깃값 설정
var data5:Int = 40 

// var dat6L:Int 데이터 선언만 하면 오류가 난다 
// Int, Short, Long, Double, Floot, Byte, Boolean, Char는 lateinit 사용불가
lateinit var data6 : String // 타입만 설정, 전역변수의 초기화를 미룸

fun main() {
    
// var과 val 의 차이

    var data1 = 10 // 변경 가능, 데이터 타입 자동 할당
    val data2 = 10 // 변경 불가능
    data1 = 20
    //data2 = 10 // 오류

    // Int, Short, Long, Double, Float, Byte, Boolean, Char, String
    // 코틀린 데이터 타입 클래스
    var data3:Int = 20 
    
    var data4:Double
    data4 = 12.34
    
    println(data1)
    println("this is data1 : $data1") // $ 저장 값 불러옴
    
    var data6 :  Any // 데이터 타입을 Any로 설정하면 어떤 타입이든지 넣을 수 있음
    data6 = 10
    println(data6)
    data6 = "app"
    println(data6)
    // 대부분의 변수는 null 불허용
    var data7 = null 
    // null 저장 X, 코틀린 변수는 null값을 가지지 않아서 nullpointException 오류도 안남
    // data7 = null 오류난다
    
    var data8:Int? = 10 // 변수에 ?가 들어가면 null 값을 허용한다
    data8 = null // int 값 들어갈 수 있지만 null도 가능

    var data7 = null // null이 자동으로 들어감
    var data8:Int = null // Int로 타입이 정해져 있기 때문에 null 허용 X
    
}

 

 

2. 함수

함수 반환을 뒤에 둔다.

fun sum10(data1:Int):Int{
    return data1 + 10
}
fun sum(data1:Int, data2:Int=10):Int{
    return data1 + data2
}

fun main() {
    println("Hello, world!!!")
    
    println(sum10(5))
    println(sum(3,5))
    println(sum(7))
    
}

 

 

3. 배열

// 배열은 Array 클래스로 표현
// 기초타입 배열 : Int, Short, Long, Double, Float, Boolean, Byte, Char


fun main() {

    // 배열의 크기 3, 배열요소 모두 0으로 초기화
    var arr1:Array<Int> = Array(3, {0}) 
    var arr3 : IntArray = IntArray(3, {0}) // LongArray, DoubleArray, StringArray
       
    arr1[0] = 20
    arr1.set(2, 30) // arr1[2] = 30 
    
    var arr2 = arrayOf<Int>(10,20,30)

    // 특정 자료형 배열 생성 LongArrayOf, doubleArrayOf, StringArrayOf 
    var arr4 = intArrayOf(10,20,30) 
    
    println(arr1[0])
    println(arr2.get(2))
    
    println("배열 arr3의 2번째 원소 : ${arr3[2]}") // 값 표현 {}로 묶어
    
    var list1:List<Int> = List(3,{0})  // List 크기 고정 리스트
    var List2 = listOf<Int>(10,20,30) 
    var list3 = mutableListOf<Int>(10,20,30)// List 크기를 바꿀 수 있는 리스트
    list3.add(3,40)
    list3.set(2,15)
    println("mutableList : ${list3[3]}")
}
728x90