1. break 문
소속된 루프를 종료함
fun main() {
for(i in 1..10) {
println(i)
if(i==3) break
}
}
1
2
3
2. continue 문
소속된 루프에선 현재 루프만 건너뜀
fun main() {
for(i in 1..10) {
println(i)
if(i==3) continue //break에서 continue로 변경
}
}
1
2
3
4
5
6
7
8
9
10
3. label (@)
여러개의 반복문을 한 번에 이탈하고자 할 때, 레이블을 이용해서 한 번에 이탈 할 수 있다.
fun main() {
loop@for(i in 2..9)
for(j in 1..9) {
if(i==4)
break@loop
println("$i x $j = ${i*j}")
}
}
4. 논리연산자
1. And(그리고) > && > A && B > 결과 : 둘 다 참이어야 참 else 거짓
2. Or(또는) > || > A || B > 결과 : 둘 중 하나만 참이어도 참 else 거짓
3. Not > ! > !A > 결과 : 참은 거짓으로, 거짓은 참
fun main() {
var a = true
var b = false
println(a && b)
println(a || b)
println(!a)
println(a && !b)
}
false
true
false
true
덧
대부분 컴퓨터의 ALU는 기본연산으로 And, Or, Xor, Not, Shift를 기본적으로 지원하다보니 해당 기능을 컴퓨터 언어로 표현하는 것은 컴퓨터 언어의 기본소양이 되어있었고, 전통적으로 &, |, ^, !, >>를 사용했습니다. 이는 기본적으로 bit연산을 지원하고, 조건에 대한 결과는 CPU상태 Flag (Sign, Zero, Carry, Overflow) 등을 종합하여 판단합니다. 해당 결과간의 연산이 bit연산과 다르기 때문에 bit And는 &한개, logic(결과) And는 &&두개를 사용하게 되었습니다.
https://pwn3r.tistory.com/entry/Flag-Register-1
※ 비트 연산을 지원하지 않고 있다.
fun main() {
var a = 0b0011
var b = 0b0101
var c = a & b // error : Unexpected tokens (use ';' to separate expressions on the same line)
}'코틀린' 카테고리의 다른 글
| [Youtube DiMo] 10-11강. 상속(오버라이딩, 추상화) (0) | 2022.04.29 |
|---|---|
| [Youtube DiMo] 8-9강. 클래스 (0) | 2022.04.29 |
| [Youtube DiMo] 6강. 반복문과 증감연산자 (0) | 2022.04.28 |
| [Youtube DiMo] 5강. 조건문과 비교연산자 (0) | 2022.04.28 |
| [Youtube DiMo] 4강. 타입추론과 함수 (0) | 2022.04.28 |
댓글