(1) var
// var로 선언한 변수는 값을 다시 지정할 수 있다
var name1 = "kotlin"
name1 = "I am kotlin"
// var는 초기화를 나중에 할 수도 있다
var name2: String
name2 = "kotlin"
(2) val
val name = "kotlin"
var num: Number
num = 12.3
(1) 숫자
var int: Int = 123
var long: Long = 123456L
var double: Double = 12.34
var float: Float = 12.34F
println("int is $int")
println("long is $long")
println("double is $double")
println("float is $float")
int is 123
long is 123456
double is 12.34
float is 12.34
(2) 문자
var str: String = "코틀린입니다"
var chr: Char = '코'
var longStr: String = """안녕하세요
코틀린입니다
문자열 여러줄 출력이에요
"""
println("str is $str")
println("chr is $chr")
println("longStr is $longStr")
str is 코틀린입니다
chr is 코
longStr is 안녕하세요
코틀린입니다
문자열 여러줄 출력이에요
(3) 문자열 템플릿
val name = "Minha"
val age = 25
val lastName = "Lee"
println("Hi. My name is $name. I'm $age years old.")
println("My name is ${name + lastName}.")
Hi. My name is Minha. I'm 25 years old.
My name is MinhaLee.
fun main() {
}
fun add(a: Int, b: Int) : Int {
return a + b
}
val array: Array<Any> = arrayOf(1, "b", 3)
val list: List<Any> = listOf(2, "c", 4, 5)
// 선언과 동시에 객체를 할당하는 경우
// arrayList의 값은 변하지만 참조값은 변하지 않아 val로 지정 가능
val arrayList = arrayListOf<Any>
// array의 경우 사이즈 수정 불가능, 값 수정 가능
array[0] = 7
// list의 경우 사이즈 수정 불가능, 값 수정 불가능 (읽기 전용)
var result = list.get(1)
// arrayList의 경우 사이즈 수정 가능, 값 수정 가능
arrayList.add(10)
arrayList.add(15)
fun checkScore(score: Int) {
when(score) {
in 90..100 -> println("Excellent")
in 70 until 90 -> println("Great")
in 40 until 70 -> println("Not bad")
else -> println("Fighting")
}
}
val rangeTo = 10.rangeTo(20)
val countingDown = 100.downTo(50)
println("rangeTo : $rangeTo")
println("countingDown : $countingDown")
rangeTo : 10..20
countingDown : 100 downTo 50 step 1
val oneToFifty = 1..50
val oddNumbers = oneToFifty.step(2)
println("oddNumbers : $oddNumbers")
oddNumbers : 1..49 step 2
// oddNumbers : 1, 3, 5, ..., 49
val fiftyToZero = 50.downTo(0)
val evenNumbersDown = fiftyToZero.step(2)
println("evenNumbersDown : $evenNumbersDown")
evenNumbersDown : 50 downTo 0 step 2
// evenNumbersDown : 50, 48, 46, ..., 0
val evenNumbersDown = (0..50).step(2).reversed()
println("evenNumbersDown : $evenNumbersDown")
evenNumbersDown : 50 downTo 0 step 2
// evenNumbersDown : 50, 48, 46, ..., 0
fun maxBy(a: Int, b: Int): Int {
if(a>b) {
return a
} else {
return b
}
}
fun maxBy(a: Int, b: Int): Int = if(a>b) a else b
fun checkScore(score: String) {
when(score) {
"A" -> println("score is A")
"B" -> println("score is B")
"C", "D", "F" -> println("score is under B")
else -> println("I don't know")
}
}
val animals: ArrayList<String> = arrayListOf("dog", "cat", "panda", "bear")
for(i in animals) {
println(i)
}
var sum = 0
for(i in 1..10 step 2) {
sum += i
}
println(sum)
var index = 0
while(index < 10) {
println("index : ${index}")
index++
}
val students = arrayListOf("이민하", "오승재", "이짱구")
for((index, name) in students.withIndex()){
println("${index+1}번째 학생 : ${name}")
}
// expression example
fun add(a: Int, b: Int): Int = a + b
//statement example
fun checkOdd(num: Int) {
if(num % 2 == 1) {
println("$num is odd")
} else {
println("$num is even")
}
}