flutter 만 공부하다보니 주변에서 다들 네이티브 도 같이 공부해야 한다고 해서.. kotlin공부를 시작해보려고 한다!
과거에 자바로 안드로이드 앱을 만들어본 경험은 있으나 ...그래도 코틀린을 해봐야지!
어느 언어던지 맨 처음 하는거는 hello world
fun main(args:Array<String>):Unit
{
println("Hello, Kotlin")
}
코틀린은 파이썬이나 스위프트처럼 ; <-- 이게 없어도 되는거같다..
fun 은 function의 약자로 함수임을 나타내는 키워드 이다. main은 함수의 이름..
void main 이런느낌인가 싶다.
코틀린은 클래스에서 완전히 독립된 함수를 가질 수 있다.
이를 패키지 레벨 함수 라고 한다..
어쩐지 클래스없이 함수만으로 실행이 되더라..
변수 타입
var val
var total:Int
total = 0;
total은 인트타입의 변수이며 값이 수정이 가능한 상태이다.
val total:Int = 0;
total은 인트타입의 변수이며 값이 수정이 불가능하다.
final ,const 같은 느낌이다!
코틀린의 타입
타입 이름 | 용량(단위 byte) | 저장 가능 범위 |
---|---|---|
byte | 1 | -128~127 |
short | 2 | -32,768 ~ 32,767 |
int | 4 | -2147483648 ~ 2147483647 |
Long | 8 | -9223372036854775808 ~ 9223372036854775807 |
Float | 4 | 1.410-45 ~ 3.40282351038 |
Double | 8 | 4.910-324~1.797693134862315710308 |
어차피 많이 써야 Int , float 이기는 하지만 그래도 ..
코틀린은 8진법 정수 리터럴을 지원하지 않는다고 한다!
문자열을 표기할때는 flutter 와 마찬가지로
println("a의 값$a");
이런식으로 작성해주어도 된다!
코틀린은 타입 별명이라는게 있다.
typealias Number = Int
fun main(args:Array<String>):Unit
{
val a:Number = 10
println(a)
}
이런식으로 위에 표기를 해줄 수 있다.
서로 약속만 되어있다면 나쁘지 않을거 같다..
약간 c를 보는느낌이다!
조건문 중에서 when 이라는 것도 있다!
when은 switch case 와 유사하다!
when(score/10)
{
6->{
println('D');
}
7->{
println('C');
}
8,9->{
println('A');
}
else->{
println('F');
}
...
그냥 신기하다
break 쓰기싫어서 만든거같다.
val result:Char = when(score/10)
{
6->{
println('D');
}
7->{
println('C');
}
8,9->{
println('A');
}
else->{
println('F');
}
...
뭐 이런식으로 값도 대입이 가능하다!
레이블 이라는것도 있다!
반복문에서 어느 지점의 반복문을 탈출할 것인지 직접 정하는거다!
이런것만 봐도 c 처럼 느껴진다.
outer@ while(x<=20){
y=0
while(y<=20){
if(x+y==15 && x-y==5){
break@outer
y+=1
}
x+=1
}
이런식으로 작성이 되면 outer이라는 while문을 바로 빠져나올 수 있나보다!
하루에 짦게 짦게 공부해야지.
; 는 세미클론 입니다 ! 명칭이 어렵네요 ㅎㅎ