Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Kotlin
- နိုင်ငံခြားသား
- အလုပ်အကိုင်
- 계정삭제 요청
- စကားစမြည်ပြောခြင်း
- 빅데이터
- Коркабулкунӣ барои хориҷиён
- Hello World
- Job
- BigData
- Кор барои хориҷиён
- အယ်လ်ဘာ
- Чати тарҷумаи худкор
- အလုပ်
- Werwingtoepassing
- Ҷойҳо дар Корея
- ကိုရီးယား
- Mobiele toepassing
- Кори нопурра дар Корея
- Шуғ дар Корея
- 비바버튼
- korea
- java
- Кор дар Корея
- မြန်မာ
- Мобиль замима
- Spring boot
- 스프링부트
- Чои кор барои хоричиён
- Data Lake
Archives
- Today
- Total
VivaButton
코틀린(Kotlin) 기본 문법2(#5 - if-else, for, while, when, range, iterate, Collections) 본문
IT/코틀린(Kotlin)
코틀린(Kotlin) 기본 문법2(#5 - if-else, for, while, when, range, iterate, Collections)
비바버튼 2021. 3. 15. 17:58728x90
오늘은 코틀린의 기본 문법 중에서 조건식, 반복문, 컬렉션을 알아보도록 하겠습니다.
1. 조건식(if 표현식)
class EtcBasicSyntax{ //기본 조건식 if else fun maxOf(a: Int, b: Int): Int{ if(a > b) { return a } else { return b } } //코틀린 if 표현식 fun maxOfSimple(a: Int, b: Int) = if(a > b) a else b } |
maxOf 펑션은 a가 b보다 크면 a를 return하고, 아니면 b를 리턴하는 펑션이며,
maxOfSimple은 maxOf과 기능은 동일 하지만, 조금 더 간결하게 작성된 코드 스타일 입니다.
2. for loop(for문)
class EtcBasicSyntax{ //for loop (items를 문자열에 모두 더하여 return 합니다.) fun forLoop(): String{ val items = listOf("apple", "banana", "kiwifruit") var itemsStr: String = "" for(item in items) itemsStr += item return itemsStr } //for loop 인덱스 포함 fun forLoopWithIdx(): String{ val items = listOf("apple", "banana", "kiwifruit") var itemsStr: String = "" for(idx in items.indices){ itemsStr += items[idx] } return itemsStr } } |
3. while loop(while문)
4. when 표현식
//when 표현식 fun describe(obj: Any): String { return when(obj){ 1 -> "One" //1일때 "1" -> "String One" //Sting type의 1일때 "Kotlin" -> "Greeting" //문자 Kotlin일때 is Long -> "Long" //Long type일때 !is String -> "Not a string" //문자가 아닐때 else -> "Unknown" //그외 } } //when 표현식 (약식) fun describeRtEq(obj: Any): String = when(obj){ 1 -> "One" //1일때 "1" -> "String One" //Sting type의 1일때 "Kotlin" -> "Greeting" //문자 Kotlin일때 is Long -> "Long" //Long type일때 !is String -> "Not a string" //문자가 아닐때 else -> "Unknown" //그외 } |
위 when문에서 obj의 type이 Any인데 여러 유형의 데이터 타입을 사용하는 변수를 Any타입으로 지정하여 사용 가능합니다.
5. Ranges(범위)
//범위(Ranges) : 입력한 x가 1 ~ 10에 포함되면 출력 fun printRanges(x: Int){ val y = 9 if(x in 1..y+1) println("fits in range : (x : $x, y : $y)") } //범위에 속하는지 return : x가 1 ~ 10에 포함되면 true를 반환 합니다. fun getRangesResult(x: Int): Boolean{ val y = 9 return (x in 1..y+1) } //범위 반복 fun printIterateRanges(){ for(x in 1..10) //1 ~ 10 반복 print(x) println() } //범위 반복 2칸 점프 fun printIterateStepTwo(){ for(x in 1..10 step 2) //1 ~ 10 반복 2칸 점프 print(x) println() } //범위 반복 역순 점프 fun printIterateReverse(){ for(x in 9 downTo 0 step 3) //9 ~ 0 반복 3칸 점프 print(x) println() } //숫자가 범위를 벗어났는지 확인 fun printOutOfRanges(x: Int){ val list = listOf("a", "b", "c") } |
6. Collections
//컬렉션 반복문 (Iterate over a collection.) fun printIterateCollect(){ val items = listOf("apple", "banana", "kiwifruit") for (item in items) println(item) } //컬렉션에 in 연산자를 사용하여 개체가 포함되어 있는지 확인(Check if a collection contains an object using in operator.) fun checkObjectInCollection(item: String): Boolean{ val items = setOf("apple", "banana", "kiwifruit") return when (item) { in items -> true else -> false } } //람다식을 사용하여 컬렉션 필터링과 매핑(Using lambda expressions to filter and map collections:) fun getCollectionFilterMapping(keyWord: String): List<String>{ val fruits = listOf("banana", "avocado", "apple", "kiwifruit") return fruits .filter{it.startsWith(keyWord)} //a로 시작하는 키워드만 필터링 .sortedBy{it} //내림차순 정렬 .map{it.toUpperCase()} //대문자 변환 } //람다식을 사용하여 컬렉션 필터링과 매핑(Using lambda expressions to filter and map collections:) fun printCollectionFilterMapping(keyWord: String){ val fruits = listOf("banana", "avocado", "apple", "kiwifruit") fruits .filter{it.contains(keyWord)} //a를 포함하는 키워드 필터링 .sortedByDescending{it} //오름차순 정렬 .map{it.toUpperCase()} //대문자 변환 .forEach{it -> println(it)} //출력 } |
실무에서 많이 쓰이는 코드들 입니다.
익숙해 지는데는 조금 걸리겠지만, 아직까지는 딱히 어렵지 않은듯하네요.
'IT > 코틀린(Kotlin)' 카테고리의 다른 글
코틀린(Kotlin) 기본 문법1(#4 - class, fun, println, var, val, String templates) (0) | 2021.03.15 |
---|---|
인텔리J(IntelliJ) 코틀린(Kotlin) 프로젝트에서 Java 코드 실행(#3) (0) | 2021.03.12 |
인텔리J(IntelliJ) 코틀린(Kotlin) 프로젝트 생성과 Hello Kotlin 출력(#2) (3) | 2021.03.11 |
코틀린(Kotlin) 시작하기(#1) (0) | 2021.03.10 |