팡세영
Log sey
팡세영
전체 방문자
오늘
어제
  • 분류 전체보기 (74)
    • PS (45)
      • programmers (13)
      • 백준 (29)
    • Android (16)
    • Daily (0)
    • Kotlin (6)
    • Design Pattern (2)
    • Java (1)
    • Flutter (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • CustomView
  • 프로그래머스
  • 해쉬맵
  • java
  • 완전탐색
  • Android
  • 안드로이드
  • 실버
  • 코틀린
  • TestCode
  • LEVEL2
  • 문자열
  • compose
  • 하단네비게이션바
  • BFS
  • binding
  • 구현
  • 자바
  • 골드
  • Kotlin
  • 이분탐색
  • programmers #프로그래머스
  • mvvm
  • flutter
  • ArcitecturePattern
  • 의존성 주입
  • 백준
  • programmers
  • DFS
  • 정렬

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
팡세영

Log sey

[Kotlin] - 코틀린 기본 문법 1
Kotlin

[Kotlin] - 코틀린 기본 문법 1

2022. 7. 8. 11:00

코틀린 기본 문법

reference by Kotlin 공식 문서

Kotlin 구조


package kotlinproject

fun main(){

println("Hello World")

}
  • .kt 확장자를 가진다.
  • package, import 선언부는 자바와 동일
  • 함수의 fun 키워드로 시작한다.
  • 리턴 타입은 함수명() 뒤쪽에 명시
  • 코틀린은 문장의 끝을 세미콜론으로 명시하지 않음

 

변수 타입, 정의 및 초기화

  • 데이터 타입에 관계 없는 상수는 val, 변수는 var 로 선언
  • 데이터 타입을 명시하지 않아도 할당 해주는 값에 따라 자동으로 결정됨

스크린샷 2022-02-17 오후 5 32 28

val는 자바와 final과 같으므로 다른 값으로 재 할당할 경우 위와 같이 오류가 난다.

1

위의 경우는 var 키워드로 num 변수를 int 형으로 타입을 정하였는데,

아래에서 String으로 타입을 재할당 시도를 하여서 컴파일 오류가 나는 경우


변수 정의

코틀린에서 변수를 선언할 때 초기화를 하지 않고 정의만 할 경우 아래와 같이 타입을 명시해줘야 함

1


변수 초기화

초기화는 아래와 같이 타입에 맞는 값을 할당해주면 된다

1

함수 정의

두 개의 Int 타입 파라미터를 전달 받아 Int 타입을 반환하는 함수


fun sum (a: Int, b: Int) : Int{  
    return a+b  
}

 

직접 값을 할당해주는 함수


fun sum(a: Int, b: Int) = a + b  

fun main(){  
  var a = 10  
  var b = 20  

  println(sum(a,b))     
}

 

리턴 값이 없는 함수는 Unit (자바의 void)으로 정의


fun print(a: Int, b: Int): Unit{  
    println("$a + $b = ${a+b}")  
}  

fun main(){  
  var a = 10  
  var b = 20  

  print(a,b)  
}

 

Unit 리턴 타입은 생략 가능


fun print(a: Int, b: Int){  
    println("$a + $b = ${a+b}")  
}    

 

스트링 템플릿

자바에서 String 클래스가 가지고 있는 format 메서드와 유사한 기능을 한다.


fun main() {  
  var a = 1  
  val str1 = "a is $a"  

  a = 2  
  var str2 = "${str1.replace("is", "was")}, but now is $a"  

  println(str1)  
  println(str2)  
} 

 

조건문

조건문 사용법은 자바와 동일


fun max(a: Int, b: Int): Int{  
    if(a > b)  
        return a  
   else  
        return b  
}

하지만 코틀린에서는 아래와 같이 표현식으로 나타낼 수 있음


fun max(a: Int, b: Int) = if (a > b) a else b

 

NULL

Null값을 허용하는 경우 타입 뒤에 ? 를 명시해주면 된다.


fun parseInt(str :String) : Int? {  
    return str.toInt()      // 리턴 타입이 기본적으로 Int형이고, null일 수 도 있음 
}

 

자동 형 변환

1

반대의 경우

1

반복문

for-each문

1

인덱스를 사용하는 경우

1

While문

1

When 표현식

when 표현식은 자바의 switch 문과 유사하다

1

Range


// Java  
for(int i=0; i<10; i++){  
  ...  
}  

// Kotlin  
for(i in 0..x){     //0부터 1씩 증가하면서 x보다 작거나 같을 때까지 
    ...  
}

 


// Java  
for(int i=0; i<10; i+=2){  
  ...  
}  

// Kotlin  
for(i in 0.. 9 step 2){          // 0 ~ 9까지 2씩 증가
    ...  
}  

for(i in 9 downTo 0 step 2){      // 9 ~ 0까지 2씩 다운

}

 

인덱스가 특정 범위를 벗어 났는지 확인하려면 아래와 같이 ! 연산자를 in과 함께 사용

1

'Kotlin' 카테고리의 다른 글

Android Kotlin - DIP(Dependency Inversion Principle)이란?  (0) 2023.07.14
Android - Kotlin으로 RecyclerView 구현하기  (0) 2022.07.29
[Kotlin] - 코틀린 기본 문법 4  (0) 2022.07.10
[Kotlin] - 코틀린 기본 문법 3  (0) 2022.07.09
[Kotlin] - 코틀린 기본 문법 2  (0) 2022.07.08
    'Kotlin' 카테고리의 다른 글
    • Android - Kotlin으로 RecyclerView 구현하기
    • [Kotlin] - 코틀린 기본 문법 4
    • [Kotlin] - 코틀린 기본 문법 3
    • [Kotlin] - 코틀린 기본 문법 2
    팡세영
    팡세영
    Android, CS, PS

    티스토리툴바