본문 바로가기

안드로이드/Kotlin

6. 흐름제어와 논리연산자

반복문을 사용하면서

중간에 그만하고 나와야 될때도 있고,

나올때 값을 반환해야 될때도 있고,

여러 상황들이 생길수 있다.

 

1. 그래서 반복문 내에서 코드의 흐름을 제어하는 키워드가 있는데

  • Break = 반복문 내의 구문이 실행되는 중간에 즉시 반복문 종료하고 넘어감
  • Continue = 다음 반복문으로 바로 넘어감.
fun main() {
    for(i in 1..10){
        if(i==3) break
        print(i)
    }
}

if(i==3) break : 일때 다음코드를 실행시키지 않고 종료된다.
1
2
fun main() {
    for(i in 1..10){
        if(i==3) continue
        print(i)
    }
}

if(i==3) continue : 코드를 건너 뛴다.
1 2 4 5 6 7 8 9 10

 

 

 2. label 지정

  • 다중 반복문에서 break, continue가 적용되는 반복문을 label을 통해 지정가능
  • label이 달린 반복문을 기준으로 특정 행동을 할 수 있다.

 

고전적인 언어에서는

fun main() {
    for(i in 1..10){
        for(j in 1..10){
            if(i==2 && j==2) break
        }
        if(i == 2 && j == 2) break
    }
}

반복문에서 완전히 빠져나오기 위해서 2번 break 체크를 해줘야 나올수 있다.

 

 

코틀린에서는

fun main() {
    loop@for(i in 1..10){
        for(j in 1..10){
            if(i==2 && j==2) break@loop
				println("i:$i, j:$j") 
				// $를 쓰면 문자열 안에 변수값 포맷팅가능
        }
    }
}
// i==2이고 j==2일 경우 loop반복문 break
// 결과
i:1, j:1
i:1, j:2
i:1, j:3
i:1, j:4
i:1, j:5
i:1, j:6
i:1, j:7
i:1, j:8
i:1, j:9
i:1, j:10
i:2, j:1

j:2 인 순간 빠져나오는 것
  • label이 달린 반복문을 기준으로 즉시 break가 실행된다.
  • label의 이름은 loop 뿐만 아니라 임의로 지정가능하다.

 

 

 

3. 논리연산자

  • 조건을 합쳐 판단 해야함.

2-1. 종류

  • && : AND
  • => (조건A) && (조건B) : 조건A,B 둘다 true 여야 조건 통과
  • || : OR
  • =>(조건A) || (조건B) : 조건A,B 둘중 1개라도 true 면 통과
  • ! : NOT
  • => !(조건A) : 조건A 값을 반전 시킨다. 
fun main() {
    println(true && false)
    println(true || false)
    println(!true)
    println(!false)
}
// 결과
false
true
false
true

 

 

'안드로이드 > Kotlin' 카테고리의 다른 글

5. 반복문과 증감연산자  (0) 2021.07.08
4. 조건문과 비교연산자  (0) 2021.06.23
3. 형변환 과 배열  (0) 2021.06.21
2. Kotlin 의 기본자료형(primitive type)  (0) 2021.06.02
1. Kotlin 의 변수와 자료형  (0) 2021.06.01