레쭈고 코틀린

Kotlin 3차시

정땅미 2024. 9. 6. 21:04

오늘은 코틀린 안드로이드 개발에서 필요한 간단한 문법들을 중점적으로 배웠습니다.

fun main() {
    println("Hello, World!!!")
    println("정상미 최고~~")
    println("미림마이스터고등학교 학생들은 성실해요!!")
    var var1 : Int = 10
    var var2 : Float = 10.1f
    // 이렇게 작성하면 불편하기 때문에 Float 를 잘 안 씀
    var var3 : Double = 10.2
    var var4 : Char = '안'
    // 따옴표 하나
    var var5 : String = "안드로이드" 
    // 따옴표 두 개
    println(var1)
    println(var2)
    println(var3)
    println(var4)
    println(var5)
    
// ------------------------------------------------
    
    var count : Int = 85
    if (count >= 90) {
        println("if문: 합격 (장학생)")
    } else if (count >= 60) {
        println("if문: 합격")
    } else {
        println("if문: 불합격")
    }
    
    var jumsu : Int = (count / 10) * 10
    when (jumsu) {
    // switch ~ case ~ default 문과 같음
        100 -> println("when문: 합격(장학생)")
        90 -> println("when문: 합격(장학생)")
        80, 70, 60 -> println("when문: 합격")
        else -> println("when문: 불합격")
    }
    
// -------------------------------------------------------------
    
    // 인덱스를 가져와서 하는 방식
    var one : IntArray = intArrayOf(10, 20, 30)
    for (i in one.indices) {
        // 인덱스의 복수 버전(0, 1, 2)
        println(one[i])
    }
    
    // 값을 가져와서 하는 방식
    for (value in one) {
        println(value)
    }
    
    var two : Array<String> = arrayOf("하나", "둘", "셋")
    for (i in 0..2 step 1) {
        println(two[i])
    }
    // for 문 문법
    // step 증가량은 i++ 과 같은 것음
    // for (변수 in 시작..끝 step 증가량) {
    // 		// 이 부분을 반복 실행
    // }
    var k : Int = 0
    while (k < two.size) {
        // size 는 자바에서 length 와 같은 것임
        println(two[k])
        k++
    }
}

// ---------------------------------------

var myVar : Int = 100
    fun main() {
        var myVar : Int = 0
        println(myVar)
        
        var sum : Int = addFunction(10, 20)
        println(sum)
    }
    
fun addFunction(num1: Int, num2: Int) : Int {
    var hap : Int
    hap = num1 + num2 + myVar
    return hap
}

// ----------------------------------------------

fun main() {
    var cha : Int = chaFunction(20, 5)
    println(cha)
}

fun chaFunction(num3: Int, num4: Int) : Int {
    var chacha : Int
    chacha = num3 - num4
    return chacha
}

// -----------------------------------------

fun main() {
    var gop : Int = gopFunction(10, 20)
    println(gop)
}

fun gopFunction(num5: Int, num6: Int) : Int {
    var gopgop : Int
    gopgop = num5 * num6
    return gopgop
}

 

코드를 나눠서 설명을 하려구 했는데... 하나의 main 에 같이 쓴 코드들이 길어서..... 너무 길어졌습니다. ^3^

 

우선 Kotlin 에서 변수 지정은 var 로 해주는 것입니다!

Float 는 뒤에 f 를 붙여주는데 솔직히 너무 불편해서 Double 을 더 많이 사용해요!

Char 를 표현할 때는 따옴표가 하나, String 을 표현할 때는 따옴표가 두 개입니다!

 

if 문은 자바랑 비슷한 문법인데용!

변수 지정해 주는 것은 조금 달라요~

var count : Int = 85 이렇게 지정해준다는 것을 기억해야 합니다!

나머지 if 문은 자바와 비슷하게 사용하였습니다.

 

자바에서 switch ~ case 문을 코틀린에서는 when 문을 사용합니다.

그리고 -> 화살표를 사용해서 출력해 줘요!

 

코틀린에서 for 문을 돌리는 방식은 아주아주 굉장히 많은데요~~~

인덱스를 가져올 때는 intArray 를 사용하시면 됩니다. 아닌가..? in 인가 흠....

그리고 indices 는 index 의 복수 버전으로 (0, 1, 2) 이렇게 가져온대요!

 

값을 가져와서 사용하시려면 value in one 해서 바로 value 를 출력하시면 됩니다!~

배열을 문자열로 만들어주기 위해 Array<String> 이렇게 설정을 해 주었어요.

그리고 정수가 아니기 때문에 intArrayOf 가 아닌 arrayOf 를 사용했답니당.

step 증가량은 i++ 와 같은 것인데요 0..2 step 1 이라면 0을 시작으로 2까지 1씩 증가한다는 말입니당.

 

그리고 코틀린에서의 배열.size 는 자바에서 배열.length 와 같다는 사실을 꼭 기억하셔야 해요!

 

그 다음은 함수를 만들어서 호출하는 방법을 배웠습니당.

 return hap 을 구하여 이 값을 sum 에 리턴해주고 sum 을 출력하면 완성입니다!

전 이 부분만 이해가 안 되었던 것 같아여!

더하기, 빼기, 곱하기 다 똑같은 방법으로 함수를 만들어줘서 호출했답니당.

그리고 제가 쓰려는 변수가 지역변수인지 전역변수인지 항상 구분해주는 것이 중요해요!

 

var myVar : Int = 100
    fun main() {
        var myVar : Int = 0
        println(myVar)
        
        var sum : Int = addFunction(10, 20)
        println(sum)
    }

 

여기서 출력한 myVar 은 지역변수 즉, 값이 0인 myVar 입니다. 하지만!!!!!!!!!!!!!!!!!

 

fun addFunction(num1: Int, num2: Int) : Int {
    var hap : Int
    hap = num1 + num2 + myVar
    return hap
}

 

여기서 hap 에 더해준 myVar 은 전역변수예요.

왜냐하면 지역 변수는 해당 지역에서 밖에 사용을 못하기 때문이죠!~!

 

그리고 fun addFunction(num1: Int, num2: Int) : Int 그리고 이 문장은 함수의 return 값이 Int 라는 말입니당.

 

이렇게 코틀린 세 번째 시간에는 간단한 문법을 배웠습니다.

자바와의 차이점도 알게 되고 좋았던 것 같아요~

모두모두 파이팅

 

'레쭈고 코틀린' 카테고리의 다른 글

Kotlin 6차시  (3) 2024.09.27
Kotlin 5차시  (0) 2024.09.26
Kotlin 4차시  (3) 2024.09.13
Kotlin 2차시  (1) 2024.09.04
Kotlin 1차시  (1) 2024.08.29