[Kotlin] Basic syntax

Taewoo Kim·2024년 7월 13일
0

[Kotlin]

목록 보기
3/3

Basic syntax

Package definition and imports

패키지 사양은 소스파일 상단에 있어야 함.

package my.demo

import kotlin.text.*

Program entry point

fun main() { 
println("Hello world")
}
fun main(args: Array<String>) {
	println(args.contentToString())
}

Print to the standard output

print를 통해 출력
println은 줄바꿈

Read from the standard input

readln() 함수로 읽어옴

Functions

fun sum(a: Int, b: Int): Int{
	return a + b
    }

단일 함수식

fun sum(a: Int, b: Int) = a + b

특정 값이 없이 리턴 할 수 있음. (Unit)은 생략 가능

fun printSum(a: Int, b: Int): Unit {
    println("sum of $a and $b is ${a + b}")
}

Variables

val 불변성 - 읽기 전용
var 가변성 - 읽기, 쓰기 가능

Creating classes and instances

class Shape

프로퍼티는 본문이나 선언에 작성

class Rectangle(val height: Double, val length: Double) {
	val perimeter = (height + length) * 2
}

Class 선언할 때 나열 된 파라미터가 있는 기본 생성자들은 자동 생성 된다.

class Rectangle(val height: Double, val length: Double) {
    val perimeter = (height + length) * 2 
}
fun main() {
    val rectangle = Rectangle(5.0, 2.0)
    println("The perimeter is ${rectangle.perimeter}")
}

상속은 : 뒤에 작성해야하고 상속을 하기위해 open을 적어야함.

open class Shape

class Rectangle(val height: Double, val length: Double): Shape() {
    val perimeter = (height + length) * 2
}

String templates

var a = 1
val s1 = "a is $a"

a = 2
val s2 = "${s1.replace("is", "was")}, but now is $a"

Conditional expressions

fun maxOf(a: Int, b: Int): Int{
	if (a>b) {
    	return a
    } else {
    	return b	
    }
}

if 는 표현식으로 사용가능

fun maxOf(a: Int, b: Int) = if (a > b) a else b

for loop

val items = listOf("apple", "banana", "kiwifruit")
for (item in items) {
    println(item)
}


or

val items = listOf("apple", "banana", "kiwifruit")
for (index in items.indices) {
    println("item at $index is ${items[index]}")
}

while loop

val items = listOf("apple", "banana", "kiwifruit")
var index = 0
while (index < items.size) {
    println("item at $index is ${items[index]}")
    index++
}

when expression

fun describe(obj: Any): String =
    when (obj) {
        1          -> "One"
        "Hello"    -> "Greeting"
        is Long    -> "Long"
        !is String -> "Not a string"
        else       -> "Unknown"
    }

0개의 댓글