티스토리 뷰
if-else 문
-
코틀린의 if-else문은 자바와 달리 값을 반환할 수 있다.
// 예시 val age : Int = 30 val ageRange : String = if (age >= 10 && age < 20) { "10대" } else if (age >= 30 && age < 30) { "20대" } else { "기타" }
-
또한 코틀린에서는 삼항연산자를 지원하지 않아 if-else문으로 자바의 삼항연산자를 대체하여 사용할 수 있습니다.
// 예시 ## 자바 int number = 30; String str = number % 2 == 0 ? "Even" : "Odd"; ## 코틀린 val number = 30 val str: String = if (number % 2 == 0) "Even" else "Odd"
when 문
-
코틀린의 when 문은 자바의 switch 문을 대체한다.
-
자바 : break를 통해 경우를 구분
-
코틀린 : 중괄호를 사용해 구분, 한 줄로 처리가 가능할 경우 중괄호 생략 가능
// 예시 ## 자바 switch (v.getId()) { case R.id.button1: Log.d(tag, "button1 Click") break; case R.id.button2: Log.d(tag, "button2 Click") break; default: Log.e(tag, "Cannot Button Click") } ## 코틀린 when (v.id) { R.id.button1 -> Log.d(tag, "button1 Click") R.id.button2 -> Log.d(tag, "button2 Click") else -> Log.e(tag, "Cannot Button Click") }
-
when 문도 if-else 문과 마찬가지로 값을 반환할 수 있다.
// 예시 var number = 30 var str : String = when(number) { 0 -> "Odd" else -> "Even" }
-
각 조건을 표현식(Expression)으로 작성할 수 있다.
// 예시 when (e) { is IOException, NullPointerException-> // ... is NullPointerException -> // ... }
for 문
-
코틀린은 for-each 형태만 지원
-
반복자를 통해 인자의 타입을 생략할 수 있다
// 예시 val names : List<String> = // ... for (name in names) { // ... }
-
for 문 내에서 인덱스를 구해야 될 경우 Collection.indicies 프로퍼티를 사용하면 컬렉션의 인덱스 범위를 반환한다.
// 예시 val names : List<String> = // ... for (i in names.indices) { // ... }
범위
-
특정 범위를 순환하거나 해당 범위내의 특정 항목이 포함되어 있는지 확인할 때 사용
-
.. 연산자를 사용하여 정의
// 예시 val range : IntRange = 0..10 // 정의한 범위 내를 순환하는 for문 for (i in range) { // ... } // for문 내에서 바로 범위를 정의할 수 있음 for (i in 1..9) { // ... }
-
until : 가장 마지막 값을 포함하지 않는 범위를 생성한다.
// 예시 // 0~3번 인덱스까지 총 4개의 항목을 포함 val range : IntRange = 0 until 4
-
in : 범위 내의 특정 항목이 있는지 알아본다.
// 예시 val range : IntRange = 0..4 val isRange1 : Boolean = 5 in range // false val isRange2 : Boolean = 2 in range // true
-
downTo : 항목들의 순서가 반대로 정렬된 범위를 생성한다.
-
downTo 함수는 기본적으로 1씩 값을 감소시키며, step 함수를 사용하여 감소폭을 변경할 수 있다.
// 예시 // 5부터 1까지 1씩 감소 for (i in 5 downTo 1) { // ... } // 5부터 1까지 2씩 감소 for (i in 5 downTo 2 step 2) { // ... }
'프로그래밍 > Kotlin' 카테고리의 다른 글
[Kotlin] 클래스와 객체, 프로퍼티와 초기화 / 인터페이스 (1) | 2020.03.15 |
---|---|
[Kotlin] 고차함수 / 람다식, 코틀린의 다양한 함수 알아보기 (0) | 2020.03.15 |
[Kotlin] 변수와 자료형 / 연산자 (0) | 2020.03.15 |
[Kotlin] Kotlin Coding Convention (0) | 2019.08.03 |
[Kotlin] 컬렉션(Collection) (0) | 2018.12.30 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 최대공약수와 최소공배수
- 자동타입
- 함수형사고 Kotlin Java
- 10827
- 조세퍼스 문제
- algorithm
- 10826
- 10757
- #kotlin
- a^b
- 1158
- 큰 수 A+B
- javacv
- GCD 합
- 문자열
- 영상처리
- Eclipse
- mssql
- kotlin
- 10828
- 알고리즘
- algorihtm
- OpenCV
- #android #motionlayout
- 단어 길이 재기
- 1260
- 1237
- 2743
- 피보나치 수 4
- constraintlayout
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함