kotlin 기본 (변수,함수,array, collection)

2021. 3. 17. 09:40개발하는중/kotlin

728x90
반응형

요즘 kotlin을 자바보다 더많이 쓰이게 되지 않을까 싶어서 공부를 시작했습니다. 

뭐 java가 게속 쓰일수 있지만 안드로이드는 확실히 kotlin이기도 하고 google에서 밀어주는 언어이기때문에

시작해봅니다. ㅎㅎ 차근차근 공부하면서 올릴계획입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package org.kotlinlang.play
 
fun main() {
 
    // final
    val temp:Int = 1
 
    // int, string, float, double
    var temp0:String= null // ? == 변수에 null값 허용한다는 문법
    var temp1:String = "Hello kotlin"
 
    println(temp)
    println(temp0)
    print(temp1)
    println(hello0())
    print(hello())
 
 
}
 
 
fun hello0() { // void hello0(){}
 
}
fun hello(): String{  //private String hello()
    return "객체 hello"
}
cs

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package org.kotlinlang.play
 
fun main() {
 
    // 1. class
    // 2. data class
 
    // 1. 코딩
    // 2. 호출
 
    var cls = HelloClass() // 기본 생성자
    var cls1 = HelloClass(10// 보조 생성자
 
    // java 호춯법
    // HelloClass cls = new HelloClass();
 
    println(cls.age)
 
    var person = Persion(21"test")
    println(person)
    println(person.age)
    println(person.name)
}
 
class HelloClass{
    var age:Int = 0
    // 호출 될때 초기화 값을 넘길수 없음
//    init {
//
//    }
 
    // default 생성자, 보조 생성자 값을 넘길수 있으며 초기화함
    constructor() // 생성자
    constructor(age: Int){  // set
        this.age = age
    } // 보조생성자
}
 
data class Persion(var age:Int, val name:String)
cs

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package org.kotlinlang.play
 
fun main() {
    // 1. 배열
    // 2. loop반복
    // 3. 캐스팅
 
    // 1. 배열 = {"","",""}
    var arr0 = listOf("1","2")              // java 에서 ArrayList 같으나 수정은 불가능 하다
    var arr1 = mutableListOf("1","2")       // java 에서 ArrayList 같으나 수정 가능
    println(arr0)
    // arr0.add //불가능
    arr1.add("3")
 
    // 2. 반복문 (java에서 썻던 향상된 반복문 사용)
    for (item in arr1 ){ // 기본 for문
        println(item)
    }
 
    for ((index, item) in arr1.withIndex() ){ // 배열의 인덱스까지 보여줌
        println("$item => $index")
    }
 
    // 3. casting object => java기준으로 String, int, long 전부 담울스 있는 객체 kotlin 에선 Any로 씀
    var temp: Any = "hello"
    if (temp is String){
        var str: String = temp; // 바로 스트링 객체에 담음
        // 자바에선 String str = (String) temp;
        // 캐스팅 해줘야 하지만 코틀린에선 조건문에 맞아서 조건문 안에
        // 들어오는 경우 auto casting 기능으로 캐스팅 되어있음
    }
 
 
 
 
}
cs

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package org.kotlinlang.play
 
fun main(){
    // map
 
    var map0 = mapOf(Pair("number","1"))        // 수정 불가능
    var map1 = mutableMapOf<StringString>()   // 수정 가능
    map1.put("number","2")
    map1.put("String","ㄱ")
 
    for (item in map0){
        println(item)
    }
    println("------------------------------------");
    for (item2 in map1){
        println(item2)
        println(item2.value)
        println(item2.key)
    }
 
    println(map1.keys)  // 키 들만 출력
 
 
 
 
}
cs
728x90