🚨 조건문
if 문 (if~ else~)
val a: Int = 3
val b: Int = 4
var data1: Int
if(a > b) {
data1 = a
} else {
data1 = b
}
println("data1 : $data1") // => data1 : 4
val data2 = if(a > b) {
a
} else {
b
}
println("data2 : $data2") // => data2 : 4
val data3 = if(a > b) a else b
println("data3 : $data3") // => data3 : 4
when 문
- 코틀린(Kotlin)는 switch 문이 없는 대신 when 문이 존재한다
var data1: Any = 5
when(data1) {
is String -> println(" is Str ") //data1 가 String 형 타입인 경우
20, 30 -> println(" data1==20 or data1==30 ") //data1 가 20 또는 30 인 경우
in 1..10 -> println(" data 가 1~10 값 안에 있음 ") //data1 가 1~10 의 값 범위 안에 있는 경우
else -> println(" else ")
}
var data2 = "hello"
when(data2) {
"hello" -> println(" data2 is hello ")
"world" -> println(" data2 is world ")
else -> println("data2 is not valid data ")
}
var x = 10
when(x) {
1 -> println(" x == 1 ")
2 -> println(" x==2 ")
else -> {
println(" x is neither 1 nor 2 ")
}
}
when(x) {
0, 1 -> println(" x==0 or x==1 ")
else -> println(" otherwise ")
}
when(x) {
in 1..10 -> println(" x 는 1부터 10 범위 안에 있음 ")
!in 10..20 -> println(" x 는 10부터 20 범위 안에 없음 ")
else -> println(" otherwise ")
}
when(x) {
is Int -> println(" x 는 Int 형 ")
else -> println(" x 는 Int 형이 아님 ")
}
🚨 반복문
for 문
/* i가 1(포함)~5(포함)까지 1씩 중가 반복 */
for(i in 1..5) {
print("$i ") // => 1 2 3 4 5
}
/* i가 6(포함)~0(포함)까지 2씩 감소 반복 */
for(i in 6 downTo 0 step 2) {
print("$i ") // => 6 4 2 0
}
/* i가 1(포함)~10(포함)까지 3씩 감소 반복 */
for(i in 1..10 step 3) {
print("$i ") // => 1 4 7 10
}
/* i가 0(포함)~10(미포함)까지 1씩 증가 반복 */
for(i in 0 until 10) {
print("$i ") // => 0 1 2 3 4 5 6 7 8 9
}
- indices : 컬렉션 타입의 인덱스값을 의미
/* data.indices
* - indices 는 컬렉션 타입의 인덱스값을 의미
* */
val data = arrayOf<Int>(10, 20, 30)
for(i in data.indices) { //for 문을 반복하면서 0,1, 2 값을 i 에 대입함
print(data[i])
if(i !== data.size -1)
print(",")
}
=> 10, 20, 30
- withIndex() : 인덱스와 실제 데이터를 함께 가져올 때 사용
/* data.withIndex()
* - withIndex 는 인덱스와 실제 데이터를 함께 가져올 떄 사용
* */
val data = arrayOf<Int>(10, 20, 30)
for((index, value) in data.withIndex()) {
print(value)
if(index !== data.size -1)
print(",")
}
=> 10, 20, 30
while 문
- 조건이 참이면 중괄호 { .. } 로 지정한 영역을 반복해서 실행
var x = 0
var sum = 0
wwhile(x < 10) {
sum += ++x
}
println(sum) // => 55
- while : 조건을 먼저 보고 구문을 실행
- do while : 구문을 먼저 보고 돌릴지 조건을 보는 것
var x = 5
while (x > 0) {
print("$x ")
x--
}
// => 5 4 3 2 1
x = 0
while (x > 0) {
print("$x ")
x--
}
// => 출력값 없음
var y = 0
do {
print(y)
y--
} while (y > 0)
// => 0
감사합니당~:)
728x90
반응형
'📱 안드로이드 Android ~ Kotlin' 카테고리의 다른 글
[Kotlin/코틀린] 4 - 널(null) 안전성 (0) | 2022.02.04 |
---|---|
[Kotlin/코틀린] 3 - 클래스와 생성자 (0) | 2022.02.04 |
[Kotlin/코틀린] 1 - 변수/상수, 데이터타입, 함수, 컬렉션 타입 (0) | 2022.02.04 |
[안드로이드/Android] Kotlin/Java 권한 요청 uses-permission (0) | 2021.12.30 |
[Android/Kotlin] Koin (kotlin 으로 작성된 경량화된 Dependency Injection 프레임워크) (0) | 2021.09.28 |