이 글은 udemy 강의를 참고하여 작성하였습니다.
작성자 : 안동현
개발환경은 Windows, Android Studio입니다.
🥰 Kotlin 개발 팁
1. 안드로이드 스튜디오 하단 메뉴에 Logcat/Info에서
메시지나 변수 내용 등을 알고 싶을 때 Log를 쓴다.
Log를 사용하고 싶다면 아래 라이브러리를 import 해주면 된다.
import android.util.Log
코드 | 의미 | 설명 |
Log.i | information | 간단한 정보 표시용 |
Log.d | debug | 디버깅 용 |
Log.e | error | 실제 에러 메시지 |
Log.w | warning | 경고 메시지 |
Log.v | verbose | 개발에 필요한 내용 출력 (개발자용) |
1. Kotlin의 반복문 : for / while / do while / repeat
* for
for 문은 제어 변숫값을 증감하면서 특정 조건이 참일 때까지 for문을 반복해서 실행합니다.
- 범위 연산자 in
for문을 이용해 1부터 100까지 1씩 증가하면서 for문의 실행 영역을 반복하라는 의미입니다.
var num: Int = 0
for (i in 1..100) {
num += i
}
println(num)
- 여러 형태의 for문
for (i in 1 until 10) {} // 1부터 9까지 1씩 증가 (10 제외)
for (i in 2..10 step 2) {} // 2부터 10까지 2씩 증가
for (i in 10 downTo 1) {} // 10부터 1까지 1씩 감소
* while
while 문은 조건이 참이면 중괄호 {}로 지정한 영역을 반복해서 실행합니다.
var myCount = 0
while (myCount <100) {
Log.i("myCount= ", "$myCount")
myCount++
}
Log.i("After while Loop= ", "$myCount")
// while문이 끝나고 난 후의 x의 값은?
* do while
최소한 한번은 실행하고 싶을 때 사용하는 반복문입니다.
var myCount = 0
do {
Log.i("myCount= ", "$myCount")
myCount++
} while(myCount == 0)
Log.i("After do while Loop= ", "$myCount")
// do while문이 끝나고 난 후의 x의 값은?
같은 조건이었다면 while문은 아무 것도 출력하지 않을 것입니다.
그러나, do while문은 조건이 틀려도 한번은 꼭 실행되기 때문에, "myCount= 0"을 출력합니다.
* repeat
repeat은 주어진 횟수만큼 특정 구문을 반복합니다.
repeat(5) { // 무조건 Int만 들어가야 한다
println("Print 5 Times!")
}
* break / continue
반복문 중간에서는 break로 반복문을 멈추거나 continue로 다음 구문을 건너뛰는 것도 물론 가능합니다.
2. Kotlin의 조건문 : if~else / when
* if~else
Kotlin의 조건문 if~else는 조금 특이합니다. 😂
다른 프로그래밍 언어에서 처럼 조건문으로 사용할 수도 있으며,
if~else를 표현식(expression)으로 쓸 수도 있습니다.
단순히 조건에 맞는 영역을 실행하는 용도가 아니라 결괏값을 반환하는 표현식으로도 쓸 수 있는 것이죠.
// 표현식으로서의 if~else
// 표현식으로 쓸 때는 항상 if, else가 세트!
var num = 1
val result = if (num > 0) {
println("num > 0")
true // 참일 때 반환값
} else {
println("num < 0")
false // 거짓일 때 반환값
* when
c의 switch 구문과 유사하지만 훨씬 쓰기 편한 when 구문입니다.
when 다음의 소괄호에 넣은 데이터가 조건이 되고 이 값에 따라 각 구문을 실행합니다.
var mike = 19
when (mike) {
16 -> textView.setText("Mike is 16 years Old")
17 -> textView.setText("Mike is 17 years Old")
18 -> textView.setText("Mike is 18 years Old")
19 -> textView.setText("Mike is 19 years Old")
else -> textView.setText("Mike is < 16 or > 20")
}
정수가 아닌 다른 데이터 타입, 범위 등으로 다양하게 명시할 수도 있습니다.
var mike = 16
when (mike) {
is String -> println("mike's age is String")
20, 30 -> println("mike's age is 20 or 30")
in 1..10 -> println("mike's age range is 1..10")
else -> println("mike's age is invalid")
}
// when 구문의 실행 결과는 무엇일까요?
when~else도 if~else 구문처럼 표현식으로 사용할 수 있습니다! 값을 반환할 수 있다는 뜻이죠!!
물론 if~else 처럼 when~else 도 서로 세트입니다! else를 빼먹지 않도록 조심하세요~🤗
'GDSC HUFS 3기 > Android with Kotlin Team 4' 카테고리의 다른 글
[4팀] 11. (2) Kotlin을 위한 기본 문법 : 화면에 그려지는 디자인 요소 위젯 (0) | 2021.10.29 |
---|---|
[4팀] 11. (1) Kotlin을 위한 기본 문법 : 스코프 함수 (0) | 2021.10.26 |
[4팀] Section 7 - (2) : Kotlin - Object Oriented Programming (0) | 2021.10.05 |
[4팀] Section 7 - (1) : Kotlin - Object Oriented Programming (0) | 2021.10.05 |
[4팀] Section 5 : Kotlin - Variables, Operators and Expressions (0) | 2021.10.04 |