요즘 코프링에 관심이 좀 생겼는데 마침 모바일프로그래밍 수업도 듣게되었담 ^!^
그래서 이참에 코틀린 문법을 쬠 정리 해보려구 한다 :)
계속 추가해서 적을 예정임
1. 변수 선언
- Var
- 읽기, 쓰기 가능
- Val
- 읽기만 가능 (== 변경이 불가능!하다)
Val(Var) 변수명: 타입
아래는 코드예시이다
Var i: Int = 10
Val j: Int = 10
i = 20
j = 20 //(x)에러
*Tip: 혹여나 나중에 변수를 바꾸면 안될 경우에는 Val 로 미리 선언하여 오류를 통해 방지할 수 이따!
2. ? null
기본적으로 코틀린은 Null을 허용하지않는다!
(자바를 주언어로 하는 나에겐... 신세계....!!! ㄱ- 맨날 NPE땜에 스트레쓰받는... ㅋㅅㅋ)
만약 Null을 허용하고싶다면 타입 옆에 ?를 붙이자!
Var 변수명: 타입?
Var i: Int? = 10
i는 Null 허용해줌!
3.타입추론
코틀린은 기본적으로 들어오는 값을 보고 타입을 알아서 지정해준다!!! 개꿀
+ 데이터타입 알고싶다면! 변수::class로 출력가능하다
val s = “ABC”
val i = 10
println("s = " + s::class)
//s = class java.lang.String (Kotlin reflection is not available)
println("i = " + i::class)
//i = int (Kotlin reflection is not available)
4.if else 조건문
if(조건문) ...else 는 똑같은데,
+)println시 해당 값 넣으려면 $변수로 가능하다!
val priceA: Int = 100
val priceB: Int = 200
if(priceA >= priceB) println("priceA = $priceA")
else println("priceB = $priceB")
=> priceB가 더 크기때문에 출력: priceB = 200
4-1. arrayOf
이왕 배운 김에 배열도 잠깐 건드려본다
arrayOf의 대박인점... 은 타입이 달라도 전부 넣기 가능하다...개충격...!!!!!!!
=> val arr = arrayOf(1, "string", true)로 가능하단 얘기 킁..
그래도 일단 Int로 해보쟈
val price: Int = 250
if(price in arrayOf(100,200,500)) println("contain")
else println("not Contained")
아래처럼 미리 선언하고 조건문안에 넣어두 된당
val arr = arrayOf(100,200,500)
if(price in arr) println("contain")
=> not Contained가 출력되겠지용?
5.when 조건문
java의 switch문과 유사하당
코틀린에서는 -> 화살표를 많이 쓰기두!
val price: Int = 200
when(price){
100 -> println("1.price = $price")
200 -> println("2.price = $price")
500 -> println("3.price = $price")
else -> println("4. Not")
} //2.price = 200
아래에서 특이한 점은 " .. " 인데, 100<=price<=199 라고 생각하면 된다!
val price: Int = 250
when(price){
in 100..199 -> println("1. 100 ~ 199")
in 200..299 -> println("2. 200 ~ 299")
in 300..399 -> println("3. 300 ~ 399")
else -> println("4. Not")
} //2. 200 ~ 299
6.functuon
형태는 이러하다
fun 함수명(매개변수: 타입): 반환타입{
//본문
return 반환값
}
반환타입 생략가능! return 생략 후 = 반환값 으로 가능!
fun main(args: Array<String>) {
val price1 = 100
val price2 = 200
val price3 = sumPrice(price1, price2)
println("price3 = $price3")
}
fun sumPrice(price1: Int, price2: Int) = price1 + price2