Front-End/Kotlin

[ Kotlin ] 기본문법 2 조건문, 반복문, 객체지향

psy_er 2024. 4. 5. 21:07
728x90

[ Kotlin ] 기본문법 2 조건문, 반복문, 객체지향

 

 

1. 조건문

 

- 기본

fun main() {
    
   var data1 = 10
    
    if(data1 > 0){
        println("positive")
    }
    else if (data1 == 0){
        println("0")
    }
    else{
        println("negative")
    }
}

 

- 코드의 공통된 특징을 앞으로 빼기, 코틀린 코드 간략하게 만들기

fun main() {
    
    var data1 = 10
    var data2:Int
    
    if(data1 > 0){
        println("positive")
        data2 = 1
    }
    
    else if (data1 == 0){
        println("0")
        data2 = 0
    }
    
    else{
        println("negative")
        data2 = -1
    }
    
    // 위의 식과 입출력 제외 동일
    data2 = if(data1 > 0){
        1
    }
    
    else if (data1 == 0){
        0
    }
    
    else{
        -1
    }
    println(data2)

 

- 코틀린의 switch 문은 when->를 사용

 

   when(data1){
        10 -> println("10")
        20 -> println("20")
        30,40 -> println("30,40“)
        in 1..10 -> println("1..10") // 범위 지정 가능
        is Int -> println("Int")
        else -> println("else")
    }
    
   var data5 = when(data1){
        10 -> "10"
        20 -> "20"
        30,40 -> "30,40"
        in 1..10 -> "1..10" // 범위 지정 가능
        is Int -> "Int"
        else -> "else"
    }
    println(data5)
}

 

2. 반복문

 

fun main() {
    
    println("Hello, world!!!")
    var sum = 0
    for(i in 0..9 step 1){ // default 값은 step이 1인 경우이다.
        sum += i
    }
    println(sum)
    
    for(i in 0..9 step 2){ // 2씩 증가 
        sum += i
    }
    println(sum)
    
    // 9에서 시작하여 2씩 감소
    for(i in 9 downTo 0 step 2){ // 크-> 작
        sum += i // sum = sum + i
    }
    println(sum)
    
    
    // for 배열
    var dataArray = arrayOf<Int>(10,20,30)
    for(i in 0..2){ // step 1 생략
        println(dataArray[i])
    }
    
    var dataArray2 = arrayOf<Int>(10,20,30)
    for(i in dataArray2.indices){ // step 1 생략, 인덱스 값 만큼 출력하기
        println(dataArray[i])
    }
}

 

3. 객체지향

// 매개 변수 -> var 또는 val로 멤버변수 선언

class User1(var name:String){ // 매개변수에 var를 붙여 멤버변수로 생성이 가능하다
    //var name = "lee" // 멤버변수를 클래스 안에 생성 가능
    //constructor(name:String){ // 생성자에 직접 넣기 가능
    init{ // init 사용
        println("init")
        //this.name = name
    }
    fun someFun(){
        println(name)
    }
}

fun main() {
    println("Hello, world!!!")
    var user1 = User1("kim")
    user1.someFun()
}
728x90