Programming/JAVA

JAVA - 제어문 (Controll statment)

긍정왕웹서퍼 2021. 7. 30. 01:14
728x90

제어문이란 ?  

자바 인터프리터는 프로그램을 위에서 아래로, 오른쪽에서 왼쪽으로 읽어갑니다. 이 프로그램의 흐름을 변경하는 것을 제어문이라고 합니다. 

 

제어문의 종류

  • 조건문 : 조건에 따라 다른 문장이 수행되도록 제어함
  • 반복문 : 특정 문장들을 반복해서 수행하도록 제어함
  • 분기문 : 반복문을 종료시키거나 재실행 시키는등의 제어기능 

 

1. 조건문

조건문의 종류는 if문 , switch문 이 있습니다. 

 

먼저 if 문은 조건식의 결과 값이 true 면 문장1이 수행되지만, false면 실행되지 않고 else if문의 다음 조건식2로 넘어갑니다.

그렇게 계속해서 해당 조건식의 결과 값이 true가 될때까지 수행하며, 결국 일치하는 값이 없다면 마지막에 else 문을 통해 문장4를 수행하고 종료됩니다. 

if 문
if(조건식1) {
	수행될 문장1;
} else if(조건식2) {
	수행될 문장2;
} else if(조건식3) {
	수행될 문장3;
} else {
	수행될 문장4;
}

 

switch 문 

조건식 하나로 많은 경우의 수를 처리할 때 사용하며 이때 조건식의 결과는 정수 또는 문자, 문자열을 사용합니다.

조건식의 결과값과 일치하는 case문으로 이동하며 모두 일치하지 않을 경우 default 문을 수행(else문과 동일) 하며 종료합니다.

switch 문

switch( num ) {
case 1: 
	team = "1조";
    break;
case 2:
	team = "2조";
    break;
case 3:
	team = "3조";
    break;
default:
	team = "다시";

 

 

2. 반복문

반복문에는 for문과 while문이 있습니다.

 

먼저 for문

초기화를 통해 값을 설정한 후 조건식이 false가 될 때 까지 증감식을 통해 연산하여 반복처리한다.

for(초기식; 조건식; 증감식){
	수행될 문장;
}

ex)
for(int i = 0; i < 10; i++){
	System.out.println(i + "출력");
}

 

while문

조건식이 true일 경우 문장을 수행하고 증감,분기문이 수행된다.

do~while문은 do문장이 먼저 실행되며 중감,분기문이 수행되고 while문의 조건식이 false가 될때까지 실행한다.

while

while(조건식) {
	수행될 문장;
    [증감식 or 분기문];
}

int i = 1;
while(i < 10) {
	System.out.println(i + "출력");
    i++;
}


do ~ while
do {
	실행될 문장1;
    [증감식 or 분기문];
} while (조건식);

int i = 1;
do {
	System.out.println(i + "출력");
    i++;
} while(i < 10);

중첩 반복문

for문을 중첩하여 수행하며 다양한 결과를 얻을 수 있다.

중첩for
for(초기값1; 조건식1; 증감식1) {
	문장1;
    for(초기값2; 조건식2; 증감식2) {
    문장2;
    }
    문장3;
}

 

 

3. 분기문

break문과 continue문이 있으며, 반복문을 빠져나갈때 사용하는 구문

break 문 : 반복문에서는 break문 자신이 포함된 가장 가까운 반복문을 빠져나가는 구문

for(int i=1;; i++) {
	System.out.println(i+"출력");
    if(i<10){
    break;
    }
}
continue 문 : 반복문 내에서만 사용가능하며, 실행 시 continue아래 부분은 실행하지않고 반복문 다시 실행
for문의 경우 증감식으로 이동, while(do~while)문의 경우 조건식으로 이동
전체 반복중에 특정 조건을 만족하는 경우를 제외하고자 할 때 유용

for(int i=1; i<10; i++) {
	if(i % 2 == 0){
    	continue;
    }
    System.out.println(i+"출력");
}