자료형 val, var
val a :Int = 10
var b :Int = 20
a = 30 // 에러
b = 30 // 정상
- val
value 의 약자로 '값'을 말한다.
값이란 변하지 않는 상수를 뜻하며, 따라서 추후 값을 변경할 수 없다.
- var
variable 의 약자로 변수를 말한다.
언제든 다른 데이터를 대입할 수 있다.
String template
문자열과 변수를 함께 출력할 때 사용한다.
val name = "Cha"
println("my name is $name Nice to meet you")
println("my name is ${name}Nice to meet you")
만약 띄어쓰기 없이 붙여써야할 경우 변수와 구분하기 위해 {} 대괄호를 써준다.
val name = "C"
val name2 = "ha"
println("my name is ${name + name2}")
이런식으로 쓰는 것도 가능하다.
'$' 표시를 출력하고 싶은 경우 \ 백슬래시를 이용하면 된다.
println("is this true? ${1==0}")
// false 로 출력
println("this is 2\$"}
// $ 출력

조건식
if
fun maxBy(a : Int, b : Int) : Int {
if(a>b) {
return a
} else {
return b
}
}
자바처럼 삼항연산자는 없지만
int maxBy(int a, int b) {
return (a > b) ? a : b;
}
대신 코틀린은
아래와 같이 쓸 수 있다.
fun maxBy(a : Int, b : Int) : Int = if(a>b) a else b
when
when은 statement(문) 로도 쓰이고 expression(표현식) 으로도 쓰인다.
statement : '값'을 만들지 않는 그냥 문장으로 쓰일 때.
expression : '값'을 만들 때
** 코틀린의 모든 함수는 expression 이다.
(1번의 함수 checkNum 은 아무 것도 return 하지 않지만 사실 Unit 이 리턴값이다. (자바에서 void))
1.
fun checkNum(score : Int) {
when(score) {
0 -> println("this is zero")
1 -> println("this is one")
2, 3 -> println("this is two or three")
else -> println("I don't know")
}
함수 안에서 사용할 때에도 값을 반환하지 않고 실행(프린트)만 하기 때문에 when은 statement(문장) 으로 쓰인 것
2.
var b = when(score){
1 -> 10
2 -> 20
else -> 50
}
이렇게 expression (표현식)으로 쓸 수도 있는데, 이때 else 를 꼭 써주어야 한다.
(값을 대입하는 경우 = expression)
자바의 switch - return 을 when 하나로 합쳐서 쓰는 것.
int b;
switch(score) {
case 1: b = 10; break;
}
3.
when(score){
in 90..100 -> println("Good")
in 80..90 -> println("Soso")
else -> println("okay")
}
단순히 실행(프린트)만 하므로 그냥 statement (문)
아래처럼 함수의 return 형태로도 가능하다.
fun getGrade(score: Int): String {
return when(score) {
in 90..100 -> "A"
in 80..89 -> "B"
else -> "C"
}
}
'앱 개발 > Kotlin' 카테고리의 다른 글
| [Kotlin] 코틀린 기본 5 (class, 다형성(상속), 생성자) (0) | 2026.02.26 |
|---|---|
| [Kotlin] 코틀린 기본 4 (Nullable, NonNull, 엘비스연산자, !! , let 함수, it) (0) | 2026.02.26 |
| [Kotlin] 코틀린 기본 3 (반복문 for & while, withIndex) (0) | 2026.02.26 |
| [Kotlin] 코틀린 기본 2 (Array & List , ArrayList) (0) | 2026.02.26 |
| [Kotlin] 매개변수로 람다함수를 이용할 때 소괄호 ( ) 생략 (0) | 2026.01.15 |