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 학원 강의 ]

+ Recent posts