[자바(Java)] 제어문 (Control Statement)

방용환·2023년 3월 31일
0
post-thumbnail

1. 제어문 (Control Statement)

1. 제어문이란?

  • 제어문 (Control Statement) : 프로그램의 흐름(Thread)을 바꾸어 주는 명령

2. 제어문 종류

  1. 선택문
  2. 반복문
  3. 기타 제어문

2. 선택문 (조건문)

1. 선택문이란?

  • 조건식에 의해 명령을 선택 실행할 수 있는 문장

2. if문

  • 조건식의 결과가 참(true)인 경우 블럭 내부에 작성된 명령들을 실행
if(조건식) {
	명령;
    명령;}
if(조건식) 명령;

// 블럭 내부에 명령이 하나만 작성된 경우 블럭 기호 생략 가능
  • If ~ else : 조건식 결과가 참인 경우와 거짓인 경우를 구분하여 블럭 내부에 작성된 명령들을 실행
if(조건식) {
	명령;
    명령;} else {
	명령;
    명령;} 
  • 다중 if ~ else : 조건식이 여러개인 경우 명령을 구분하여 블럭 내부에 작성된 명령 실행
if(조건식) {
	명령;
    명령;} else if {
	명령;
    명령;} else {
	명령;
    명령;}  

=> 마지막 else에 작성된 명령은 모든 조건식이 거짓인 경우 실행

3. switch

  • 값을 비교하여 명령 선택 실행 (실수값 제외)
switch(비교 대상) {
	case1:
    	명령; 명령; ...
        break;
    case2:
    	명령; 명령; ...
        break;
    case3:
    	명령; 명령; ...
    	break;
    default:
    	명령; 명령; ... 

}
  1. 비교대상에는 변수 또는 연산식을 작성하여 비교하고자 하는 값 제공
  2. 비교대상의 값을 case 키워드로 제공된 값과 차례대로 비교하여 같은 case의 값을 가지고 있는 위치로부터 작성된 모든 명령 실행
  3. case 키워드로 제공되는 값은 리터럴 또는 상수만 작성 가능
  4. case 키워드로 제공되는 값이 중복되어 작성될 경우 에러 발생
  5. break 키워드를 만나면 switch 구문 강제 종료
  6. case 키워드로 제공되는 값이 모두 다른 경우 default 키워드의 명령을 실행 (생략 가능)

3. 반복문

1. 반복문이란?

  • 어떤 작업을 반복적으로 실행하고 싶을 때 사용하여 제어문 처음으로 되돌아가 반복 실행

2. for

  • 조건에 의해 명령을 반복 실행
  • 초기식 : 변수에 초기값을 저장하는 연산식
  • 조건식 : 변수와 조건식을 비교해 참과 거짓을 판단하는 연산식
  • 증감식 : 변수값을 증가시키거나 감소시키는 연산식
for (초기식; 조건식; 증감식) {
	명령;
    명령;}
  1. 초기식, 조건식, 증감식은 반드시 ';'을 이용하여 구분

  2. 조건식의 결과가 거짓인 경우 반복문 종료
    cf. 조건식의 결과가 계속 참인 경우 무한 반복

  3. 초기식과 증감식은 ','기호를 사용하여 나열 작성 가능

  4. 초기식, 조건식, 증감식은 생략 가능

  5. 조건식이 생략된 경우 무조건 참으로 처리

3. while

  • 조건에 의해 명령을 반복 실행 (반복의 횟수가 명확하지 않는 경우 사용하는 반복문)
while (조건식){
	명령;
    명령;}
  1. 조건식의 결과가 참인 경우 명령을 반복 실행하고 거짓인 경우 반복문 종료
  2. 조건식 생략 불가능
  3. 블럭 내부에 작성된 명령을 0번 이상 실행
do {
	명령;
    명령;} while (조건식);
  1. 명령을 1번 실행하고 조건식의 결과가 참인 경우 명령을 반복실행하고 거짓인 경우 반복문 종료
  2. 블럭 내부에 작성된 명령을 1번 이상 실행

4. 기타

1. break

  • switch 구문 또는 반복문을 강제로 종료하기 위해 사용하는 제어문
  • if 구문의 종료가 참인 경우 break 구문을 이용하여 반복문 종료
  • 이중 반복문의 경우 가장 가까운 반복문만 종료된다.
for (초기식; 조건식; 증감식) {
	명령;
    명령;break;
}

** 반복문 작성시 반복문을 구분하기 위해 식별자(라벨명) 선언 가능

라벨명:
for (int i=1;i<=5;i++) {
	for (int j=1;j<=5;j++) {
		if (j == 3) break loop;
			System.out.println("i = "+i+", j = "+j);
		}
	}
//break 라벨명 : 라벨명으로 지정된 반복문 종료

2. continue

  • 반복문에서 명령을 처음부터 다시 실행하기 위해 사용하는 제어문
  • 반복문에서 continue 명령 하단에 작성된 명령을 실행하지 않고 처음부터 다시 실행할 경우 사용
for (int i=1; i<=5; i++) {
	if (i == 3) continue;
    System.out.println(i + "\t");
}
// 1	2	4	 5

** continue 라벨명;

  • 해당 라벨의 반복문으로 돌아간다.

0개의 댓글