Kotlin
1. 변수선언
kotlin에서는 ‘;’를 사용하지 않으며, 일반 변수를 선언할 땐 var 상수를 선언할 땐 val를 쓴다. 변수명 우측에 ‘:’을 사용해서 타입을 지정할 수도 있다.
var kotlin:Int = 1108 // 일반 변수 선언
val KOTLIN:Int = 731 // 상수 선언 (read only)
2. null
kotlin에서는 기본적으로 NULL값을 가질 수 없다. NULL을 사용하기 위해선 아래와 같이 ‘?’를 활용해야 한다.
var notNullable:Int = 1108
var nullable:Int? = null
또한, 안전한 NULL처리를 위해서 ?. 연산자를 사용한다.
val name = "igni"
println(name?.toUpperCase())
’!!’도 존재하는데, 강제로 null이 아님을 선언할 때 사용한다.
val companyName:String? = null
val notNullName:String = companyName!!
3. Method
Kotlin에서는 Method를 아래와 같이 선언한다
fun 함수명 (변수명: 변수타입): 리턴타입 { return 값 }
위 컨벤션을 토대로 예를 들어보면 아래와 같으며
fun testFun(i:Int, g:Int): Int {
return i+g
}
조금 더 줄여서 아래와 같이 표현할 수도 있다.
fun testFun(i:Int, g:Int) = i + g
간단한 조건식을 포함한 메서드도 아래와 같이 간단하게 표현할 수 있다.
// 간단한 조건식을 포함한 함수
fun isHello(s: String): Boolean {
if(s == "hello"){
return true
} else {
return false
}
}
// 조건식 메소드 간략 표현
fun isHello(s: String) = if(s == "hello") true else false
// 더 간단히 줄이면?
fun isHello(s: String) = s == "hello"
반환형이 없는 함수는 Unit이나 공백으로 두면 된다.
// Unit 사용
fun returnVoid(): Unit {}
// 그냥 공백
fun returnVoid() {}
4. if, when
if문은 다른 언어에서 쓰는 것과 똑같다.
val isFlag:Boolean = true
if(isFlag) {
println("is flag is true")
}else {
println("is flag is false")
}
반환형 if 문법이 존재하는데, 아래와 같이 쓴다. 제법 유용하게 쓰일것 같다.
var result : String = if(isFlag){
"참"
}else{
"거짓"
}
java에서 쓰는 switch case문법이 kotlin에서는 when으로 쓰인다.
val level:Int = 10
when(level) {
2 -> println("level 2")
4 -> println("level 4")
6 -> println("level 6")
8 -> println("level 8)
10 -> println("level 10")
else -> println(" ????? ")
}
5. 반복문
별거 없다. 리스트를 선언하고, 아래와 같이 for loop 돌릴 수 있다.
var stringList = ArrayList<String> = ArrayList<>()
for(str in stringList) {
println(str)
}
foreach는 아래와 같다.
for(i:int in array){
println(i)
}
iterator를 사용한 loop는 제법 편리하게 제공한다.
//1에서부터 10까지 순회하면서 출력
for(i in 1..10){
println(i)
}
//역순으로 10에서부터 1까지 출력하기
for(i in 10 downTo 1){
println(i)
}
//일정 간격으로 동작시키기
for(i in 1..10 step 2){
println(i)
}
//끝 번호를 제외하고 출력하기
for(i in 1 until 10){
println(i)
}
Leave a comment