제어문, 조건문, 반복문

[제어문]

 

1. 제어문의 개념

  (1) 제어문이란?

  • 프로그램 명령이 순서를 제어하는 명령문을 말한다.

  (2) 제어문의 분류는?

  • 조건문과 반복문으로 나뉜다.
  • 조건문은 조건이 참인지 거짓인지에 따라 실행 명령을 분리하는 것을 말한다.
  • 반복문은 조건이 참인 동안 명령들을 반복 수행하는 것을 말한다.

  (3) 제어문의 종류는?

  • 조건문의 경우, if와 switch 구문이 있다.
  • 반복문의 경우, for, while, do while 구문이 있다.

 

2. 제어문의 구조

  (1) 제어문 구조의 종류

  • 순차구조
  • 선택구조
  • 반복구조

    1) 순차구조

  • 기본 구조로 명령문 하나씩 위에서 아래로 순차적으로 실행한다.

순차구조의 기본적인 특징, n번 반복

    2) 선택구조

  • 조건식의 참과 거짓에 따라 명령문들을 분리하여 실행한다.
  • '참일 땐 A를 해라, 거짓일 땐 B를 해라'

조건문 선택 구조의 형태, 참과 거짓에 따른 명령문 수행

    3) 반복구조

  • 조건식이 참이면 계속 실행한다.
  • '참이면 계속 돌고 거짓이면 빠져나와'

명령문이 참일 시 계속 돌고, 거짓이면 종료

 

[조건문]

 

1. if 조건문 이해

  (1) if 조건문의 규칙

  • 참과 거짓을 구분하여 실행하는 명령어 블록은 중괄호, {} 로 표시한다.
  • 참과 거짓을 구분하여 실행하는 명령어가 한 개일 경우는 중괄호의 생략이 가능하다.
  • if 조건문의 명령어 블록 내부에 또다시 if 조건문 사용이 가능하다. (중첩 가능)
  • 중괄호 내부에 선언된 변수는 중괄호 안에서만 사용가능하다.
  • 중괄호 외부에 선언된 변수는 내부에서 사용이 가능하다.
  • 조건식에는 세미콜론 (;) 을 붙이지 않는다.

  (2) if 조건문의 종류

  • 단순 if문
public class HelloControl {
	public static void main(String[] args) {
    	int a = 0;
        if (a<5) {
        	System.out.println(a);		// a의 값이 출력됨.
        	a++;				// a의 값이 1씩 증가하여 5와 같아지면 빠져나옴.
        }
    }
}
  • if ~ else 문
public class HelloControl2 {
	public static void main(String[] args) {
    	int a = 3;
        if (a<5) {
        	System.out.println(a);		
            // 참일 시 a의 값이 출력됨.
        } else {
        	System.out.println("a는 주어진 값보다 작습니다.");
            // 거짓일 시 else의 출력문이 출력됨.
        }
    }
}
  • if ~ else if + (else) 문
/**
* if ~ else if 문 활용하여 성적표 출력하기
* 2022-02-04
*/
public class HelloControl {
	public static void main(String[] args) {
    	int score = 80;
        if (score>=90) {
        	System.out.println("A, Great job");
        } else if (score>=80) {
        	System.out.println("B, Well done");
        } else if (score>=70) {
        	System.out.println("C, Try Little more");
        } else {
        	System.out.println("D, Oh no..");
        }
    }
}

 

 

2. switch 조건문 이해하기

  (1) switch 조건문이란?

  • if ~ else if ~ else 문의 단순화 시킨 조건문을 말한다.
  • case문, break문, default문으로 구성된다.

  (2) switch 조건문의 구조는?

  • 변수는 정수형, 문자형, 문자열 변수가 사용된다.
  • 수식은 정수형 또는 문자형 결과값이 나오는 수식을 사용한다.
  • 상수 1값과 "변수 또는 수식"의 값이 동일한 경우 A블록을 수행한다.
  • switch문의 외부로 제어가 이동한다.
  • break문이 없으면 아래의 블록을 실행한다.
  • case문은 switch문 내부에 1개 이상 사용할 수 있다.
  • 모든 상수값들과 "변수 또는 수식"의 값이 동일하지 않으면 default값이 수행된다.
  • default문은 마지막에 1개만 사용 가능하다.
  • break문은 생략이 가능하다. (단, 위에서 언급한 것처럼 여러 블록이 실행된다.)
  • case문과 default문의 마지막에는 (콜론, :)을 사용한다.

switch문 기본 구조, 맨위 빨간 네모 = (;) X

  (3) switch 조건문과 if 조건문의 비교


public class Controlflow4 {

	public static void main(String[] args) {
		// if문
		int i = 1;
		switch (++i) {
		case 1: // 값을 알고 있을 때 switch문 작성. 
			System.out.println("1입니다.");
			break;
		case 2:
			System.out.println("2입니다.");
			break;
		case 3:
			System.out.println("3입니다.");
			break;
		case 4:
			System.out.println("4입니다.");
			break;
		case 5:
			System.out.println("5입니다.");
			break;
		default:
			System.out.println("1~5안에 값이 아닙니다.");
			break;
		}
		if (i > 5) { // if는 범위 지정.
				System.out.println("5보다 큽니다.");
		} else if (i == 5) {  
				System.out.println("5랑 같습니다.");
		} else  {
			System.out.println("5보다 작습니다.");
			
		}
	}
}

 

[반복문]

1. 반복문의 개념

  (1) 반복문이란?

  • 반복적으로 명령문을 실행시킬 수 있는 문장을 말한다.
  • 특징으로는 중복성 제거와 코드의 간결함이 대표적이다.
  • 반복문 내부에 다른 반복문을 중첩하여 사용할 수 있다.

  (2) 반복문의 예

  • "안녕하세요?" 문장 100번 출력하기를 예로 들어보자.
// 반복문 사용하지 않은 경우
public class Hello {
	public static void main(String[] args) {
    	System.out.println("안녕하세요?");	// 1
        System.out.println("안녕하세요?");	// 2
        System.out.println("안녕하세요?");	// 3
        System.out.println("안녕하세요?");	// 4
        System.out.println("안녕하세요?");	// 5, 100번 ctrl c,v 하면 가능. 하지만 100만번이라면?
        
        // 반복문 활용
        for (int i = 0; i < 100; i++) {
        	System.out.println("안녕하세요?");	// 알아서 100번 출력하고 끝남.
        }
    }
}

  (3) 반복문의 종류

  • 반복 횟수가 정해져 있는 경우 : for문
  • 반복 횟수가 정해지지 않는경우 : while문, do ~ while문

  (4) 무한반복

  • 반복문이 종료되지 않고 지속적으로 반복되는 현상
  • break - 반복을 종료하는 명령문
  • continue - 반복을 건너뛰는 명령문 (연년 표기 문제에서 자주 쓰임)

2. for 반복문 이해하기

  (1) for 반복문 구조

  • 반복 전에 초기식을 설정한다.
  • 반복 여부를 판단하는 조건식을 설정한다.
  • 반복할 때마다 수행하는 증감식을 입력한다.
  • 반복할 명령어들을 입력한다.
  • 명령어가 하나인 경우 중괄호는 생략 가능하다. 
  • 초기식, 조건식, 증감식은 세미콜론으로 구분한다.
  • for문의 경우 증감식에 세미콜론을 붙이지 않는다.

for 구문의 반복문 동작 원리

 

3. while 반복문 이해하기

  (1) while 반복문이란?

  • 반복횟수가 미리 정해지지 않은 경우 주로 사용한다.
  • 조건식이 참인 동안 실행되는 반복문이다.
  • 초기식은 while 반복문이 시작되기 전에 선언한다.
  • 증감식은 while 반복문의 중괄호의 마지막에 선언한다.
  • 초기식과 증감식은 필요에 따라 생략이 가능하다.

  (2) while 반복문 구조는?

  • 반복 전 초기식 설정
  • 반복 여부를 판단하는 조건식은 괄호 안에 입력한다.
  • 반복할 때마다 수행하는 증감식은 닫는 중괄호 위에 입력한다.
  • 반복할 명령어들을 입력한다.
  • 중괄호 내부에 명령어가 하나인 경우 생략 가능하나 적는 것이 좋다.
  • 초기식과 증감식은 필요에 따라 생략 가능하다.

  (3) break 제어문이란?

  • 반복문 (for, while, do ~ while)에서 사용한다.
  • 반복문의 중괄호를 벗어나 반복문을 종료한다.
  • 중첩된 반복문에서는 가장 가까운 중괄호를 벗어난다.

  (4) continue 제어문이란?

  • 반복문 (for, while, do ~ while)에서 사용한다.
  • 반복문 내부의 이후 명령문들은 건너뛴다.

4. do ~ while 반복문 이해

  (1) do ~ while 반복문이란?

  • 반복 횟수가 미리 정해지지 않은 경우 주로 사용한다.
  • 초기식은 do ~ while 반복문이 시작되기 전에 선언한다.
  • 증감식은 do ~ while 반복문의 중괄호 마지막에 선언한다.
  • 초기식과 증감식은 필요에 따라 생략이 가능하다.
  • 조건식과 상관없이 중괄호 내부의 명령문들이 먼저 한 번 실행된 후 조건식이 실행된다.

  (2) do ~ while 반복문의 구조

do ~ while 반복문의 구조와 동작 원리

 

+ Recent posts