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
'Front-End > Kotlin' 카테고리의 다른 글
[Kotlin] 안드로이드 XML, 모듈 생성, View 속성 (2) | 2024.04.15 |
---|---|
[Kotlin] build.gradle, MainActivity.kt, activitiy_main.xml (1) | 2024.04.14 |
[Kotlin] 코틀린 언어 소개 (1) | 2024.04.13 |
[ Kotlin ] 기본문법 3 상속, 람다, 익명 함수 (3) | 2024.04.05 |
[ Kotlin ] 기본문법 2 조건문, 반복문, 객체지향 (1) | 2024.04.05 |