[Android]Kotiln 문법 훝어보기
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/