java/ㄴ CHAPTER 4. 제어문 (조건문과 반복문)

CHAPTER 4. (1) 제어문이란? (조건문 if 포함)

Astaroth아스 2020. 3. 13. 05:58

제어문
 - 프로그램의 흐름을 바꾸는 역할을 하는 문장
 - 때로 조건에 따라 문장을 건너뛰고, 때로 같은 문장을 반복해서 수행

제어문 종류
 ㄴ 조건문 : 조건에 따라 다른 문장이 수행
 ㄴ 반복문 : 특정 문장을 반복해서 실행

 

제어문에는 조건이 필요

 = true / false 의 결과를 획득하는 경우만 조건에 들어갈 수 있다

 

 

 

조건문 종류
 - if문 
 - if ~ else문

 - if ~ else if ~ else문

 

if문 조건식
 - 비교 연산자 < > >= <= 등...
 - 논리 연산자 && || ! 등...

 

 

 

블럭
 - 괄호 {}를 이용해서 여러 문장을 하나의 단위로 묶는다

ㄴ특징
 - 괄호 {로 시작해서 }로 끝나며, 끝 괄호에 세미콜론;을 붙이지 않음
 - 블럭 내 문장은 들여쓰기(indentatioon)를 해주는 것이 좋음
 - 블럭 내 문장이 하나뿐일 때는 괄호 생략 가능 (그래도 생략하지 않고 사용하는게 바람직)

 

 

 

if ~ else
 - if문의 변형 (else 블럭 추가)
 - 조건식의 결과가 참이 아닐때 else 문장 수행

 

if if과 if ~ else 차이?
 ㄴ if if는 2개 조건식 모두 계산해야 하지만, if ~ else 문은 1개만 계산해도 되므로 더 효율적

 (if가 false면 else문을 수행하면 됨)

 

 

 - if ~ else if 조건문 사용시 참고사항

ex.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package sample;
 
public class sample1 {
    public static void main(String[] args) {
        
        int orderPrice = 0;
        
        if (orderPrice >= 5000000) {
            System.out.println("10만원 상품권 지급");
        } else if(orderPrice < 5000000 && orderPrice >= 1000000) {
            System.out.println("1만원 상품권 지급");
        } else if(orderPrice < 1000000 && orderPrice >= 1000000) {
            System.out.println("커피쿠폰 지급");
        } else {
            System.out.println("주차할인권 지급");
        }
 
    }
}
 
 

윗문에서 if문을 지나 else if문으로 내려가는 조건은
if문 조건에 충족되지 않았다는 의미를 포함하고 있기 때문에
굳이 && 조건을 사용해서 중복 확인할 필요가 없다

 

 


if ~ else if ~ else 
 - 처리해야 하는 조건이 셋 이상일 경우 
 - 결과가 true인 조건식이 하나도 없으면 else 블럭의 문장이 수행됨

 

 

 

중첩 if
 - if문 블럭 내에 다른 if문을 포함시키는 것
 - 중첩 횟수는 거의 제한이 없음



if문의 단점
 - 조건식 결과가 true, false 뿐 // 경우의 수가 많아질 수록 if 추가 (복잡, 처리시간 증가)
 ㄴ 그래서 swtich문 사용하기도 함