1. 제어문
👩🏻💻 제어문 : 코드의 흐름을 조건에 따라 바꿀 수 있음
👩🏻💻 제어문에는 크게 조건문에 해당하는 if, when 그리고 반복문에 해당하는 for, while 이 있음
(1) 조건문 if
✏️ 주어진 조건식의 결과값이 참인지 거짓인지에 따라 코드르 실행할 것인지
혹은 다른 코드를 실행할 것인지 판단하기 위한 프로그래밍 문법
1) if문을 사용하기 위한 조건
- if문의 조건식에는 비교 연산자(==, <, >)와 논리 연산자(&&, ||)를 사용한 조건식만 사용 가능
- 조건식의 결과는 Boolean 타입인 true 참과 false 거짓
2) 기본적인 if문 사용하기
if (조건식) {
조건식이 참일 경우 실행되는 코드 영역
}
* 코드 블럭 code block. 코드 스코프 code scope : 코드 중간의 여는 중괄호 {로 시작해 닫는 괄호 } 까지
fun main() {
var out = 0
var strike = 3
if (strike > 2) {
out = out + 1
}
println("out: $out") // out: 1
}
3) if~else 문 사용하기
if (조건식) {
조건식이 참일 경우 실행되는 코드 영역
} else {
조건식이 거짓일 경우 실행되는 코드 영역
}
fun main() {
var ball = 4
if (ball > 3) {
println("4볼로 출루합니다.") // 4볼로 출루합니다.
} else {
println("타석에서 다음 타구를 기다립니다.")
}
}
4) else if 문
if (조건식) {
조건식이 참일 경우 실행되는 코드 영역
} else if (조건식 2) {
조건식 1 결과가 거짓이고 조건식 2 결과가 참일 경우 실행되는 코드 영역
} else {
조건식1, 조건식2 모두 거짓일 경우 실행되는 코드 영역
}
5) 변수에 직접 if문 사용하기
- if문의 조건식 결과를 변수에 대입할 수 있음
fun main () {
var a = 5
var b = 3
var bigger = if (a > b) a else b
println("bigger: $bigger") // 5
}
6) if문의 마지막 값을 반환값으로 사용하기
- 위의 코드와 같은데 if문의 코드 영역이 여러 줄일 경우에도 마지막 줄을 변수값으로 사용할 수 있음
fun main() {
bigger = if (a>b) {
var c = 30
a // 마지막 줄의 a 값이 bigger에 저장
} else {
b
}
println("bigger: $bigger") // 5
/*
다음과 같이 'if문을 활용하여 변수에 값을 할당할 수 있음.'
'값을 할당해야 하므로 반드시 else문이 필요'
*/
val myAge = 20
val isAdult = if (myAge > 20) true else false
println("성인 여부 : $isAdult") // 성인 여부 : false
}
응용 예제
fun main() {
/*
사용자에게 성적을 입력받아
if문을 사용해서 학점을 출력하는 코드를 완성하세요.
입력은 0 ~ 100까지 입력이 됩니다.
* 기준
A: 90 ~ 100
B: 80 ~ 89
C: 70 ~ 79
D: 60 ~ 69
F: 0 ~ 59
예) 성적을 입력하세요 : 81
학점 B
*/
print("성적을 입력하세요 : ")
val scanner = Scanner(System.`in`)
val score = readln().toInt()
if (score >= 90) print("학점 A")
else if (score >= 80) print("학점 B")
else if (score >= 70) print("학점 C")
else if (score >= 60) print("학점 D")
else print("학점 F")
}
[ 내용 참고 : IT 학원 강의 ]
'Programming Language > Kotlin' 카테고리의 다른 글
[Kotlin] while 문과 반복문 제어 (break, continue) (0) | 2024.04.08 |
---|---|
[Kotlin] for 반복문 (0) | 2024.04.05 |
[Kotlin] when 조건문, 범위 클래스 (1) | 2024.04.05 |
[Kotlin] 자료형 변환, 기본형과 참조형 비교, 스마트 캐스트, 자료형 검사 (0) | 2024.04.04 |
[Kotlin] 코틀린 특징, 변수와 자료형, 상수 (0) | 2024.04.04 |