2 minute read

Updated:

Kotlin이란?

왜 써야하는가?

  • 자바보다 좀더 쉽게 사용 가능하고 배우기도 용이함.


Kotlin 문법

fun main(args : Array<String>){
    print("Hello World!")
}
  • 세미콜론이 붙지 않음.
  • sysout 대신 print로 출력
  • main 함수로 시작함.


함수 선언

구분식과 표현식

  • 구분식
    fun sum(a :Int, b: Int) : Int{
      return a + b
    }
    
  • 표현식 (구분식과 표현식은 동일하게 동작함)
    fun sum(a : Int, b : Int) = a + b
    
fun max(a: Int, b : Int) = if(a >b) a else b

Value, Varible 변수 선언

//int로 선언하지 않아도 int로 할당
var a : Int = 1

//bubble형으로 자동 할당
var b = 2
var c = 3.14
  • null이 가능한 타입과 가능하지 않은 타입이 구분되어 있음. 반드시 초기화를 해야함.
var d = String
d = "필수로 있어야 하는 구분"
//  d = "d의 초기값이 없으면 null이 될 수 있는데 d는 null이  될 수 없으므로"

Type

Numbers

정수형

  • Byte
  • Short
  • Int : 123
  • Long : 123L

실수형

  • Float : 123.4f
  • Double : 123.4

그외

  • Char
  • String
    var str String = "abcd"
    str = "abcd" + 1 //abcd1
    str = "abcd" + "efg" // abcdefg
    
  • Boolean

    Boolean ?가 붙어있으면 null이 될 수 있는 타입을 의미함. ?가 붙지 않은 변수에서는 T/F만 가능


for 반목문

//1부터 5까지 중에 하나씩 꺼내서 i에 할당하겠다.
for (i in 1..5){
    println(i)
}

//두 칸씩, 아래서부터 위로 내려가겠다. 6에서부터 2칸씩 내려가겠다.
for(i in 6 downTo step 2){
    println(i)
}
//6 4 2 0

for(i in 1..5 step 3){
    println(i)
}
  • until

    0 until 10 0부터 10까지. 이때, 마지막 숫자는 포함하지 x

val numberList = listOf(100, 200, 300)
for(number in numberlist){
    println(number)
}
// 100 200 300


While 반목문

var x = 5
while(x > 0){
    println(x)
    x--
}
// 5 4 3 2 1

x = 0
while(x > 0){
    println(x)
    x--
}
//출력없음

var y = 0
do {
    print(y)
    y--
} while(y > 0)
//0

If문

var max : Int
if(a > b){
    max = a
} else{
    max = b
}

//표현식
val max = if(a > b){
    print("Choose a")
    a
}else{
    print("Choose b")
    b
}

When

  • 자바와 달리 switch문 없고 when문 사용
when(x){
    1 -> print("x == 1")
    2 -> print("x == 2")
    else -> {
        print("x is neither 1 nor 2")
    }
}

when(x){
    0,1 -> print("x == 0 or x == 1")
    else -> print("otherwise")
    }

//in 연산자 사용 (1부터 10 범위 안에)
when(x){
    in 1..10 -> print("x는 1부터 10 범위 안에 있음")
    !in 10..20 -> print("x는 10부터 20 범위 안에 있음")
    else -> pritn("otherwise")
}  

//is 연산자 사용(타입 확인 연산자)
when(x){
    is Int -> print("x는 인트형")
    else -> print("x는 인트형이 아님")
}


참고 ) 코틀린 공식 사이트

  • https://kotlinlang.org/