JAVA - 제어문

2021. 3. 24. 00:25코 딩 공 부/J A V A

728x90
반응형

조건문

 

if 문

if 문은 if 다음의 조건이 참일 경우, 특정 문장을 수행하고자 할 때 사용되는 문장이다.

● 형식

if(조건식){

실행문_1;

}

실행문_2;

 

- 조건식의 결과는 반드시 true 또는 false 이어야 한다.

- 조건식이 만족할 때 수행되는 실행문_1이 한개인 경우에는 중괄호를 생략할 수 있다.

 

 

if ~ else 문

if ~ else 문은 if 다음의 조건이 참일 경우와 거짓일 경우에 따라 두 갈래로 분기되어 각각 다른 문장을 수행하고자 할 때 사용되는 문장이다.

● 형식

if(조건식){

실행문_1;

} else{

실행문_2;

}

실행문_3;

 

 

 

다중 선택 if문(else if 문)

else if 문은 if 문의 처음 조건식이 거짓일 경우 계속된 다른 범위의 값을 추출하기 위해 else 쪽에 if 문을 두는 제어 구조이다.

● 형식

if(조건식_1){

실행문_1;

} else if(조건식_2){

실행문_2;

} else if(조건식_n){

실행문_n;

} else{

실행문_o;

}

실행문_p;

 

if 문 중첩

중첩된 if 문은 if 문 안에 또 다른 if 문을 두는 제어 구조이다.

● 형식

if(조건식_1){

 if(조건식_2){

  실행문_1;

 } else{

  실행문_2;

} else{

실행문_3;

 

 

switch ~ case 문

- 다중 선택문이라고도 하며 switch 문의 수식 결과 값과 case 문의 리터럴 또는 상수와 일치하는 곳의 문장을 실행한다.

- 사용가능한 자료형은 byte, short, char, int, String 및 enum만 가능하다. boolean, long, float, double형은 사용할 수 없다.

- case 다음의 값으로 변수나 수식은 불가능하며 리터럴(상수)만 가능하다.

- case 문 뒤에 break; 가 없는 경우 다음 case 문의 문장을 계속해서 수행한다.

- default 문은 만족하는 상수가 없는 경우에 실행되며 생략 가능하고 위치는 어디에 있어도 상관없다.

- case 문 안에 연속적인 switch 문을 포함할 수 있다.

 

● 형식

switch(수식){

case 상수_1 : 문장_1; [break;]

case 상수_2 : 문장_2; [break;]

     :

}

 

● break 문

반복문(while, do ~ while, for)이나 switch문 내의 블록으로부터 제어를 빠져 나오기 위해 사용된다.

 

반복문

 

while 문

조건식을 먼저 비교하여 조건식이 참인 경우 특정 영역을 반복 수행하는 문장으로 처음 조건식이 false인 경우 while문안의 실행문을 단 한번도 실행하지 않는다.

● 형식

while(조건식){

실행문;

}

 

- 조건식의 결과는 반드시 true 또는 false 이어야 한다.

- 조건식이 만족할 때 수행되는 실행문이 한개인 경우에는 중괄호를 생략할 수 있다.

- while(true)와 같이 조건식을 true로 설정하면 무한 루프(infinite loop)가 된다.

- while문 안에 또 다른 while문이나 다른 반복문을 사용할 수 있다.

 

 

 

do ~ while 문

do ~ while 문은 while 문과 마찬가지로 특정한 영역을 반복 수행하는 반복문으로 while문과 다른 점은 조건식을 나중에 비교한다는 것이다.

● 형식

do{

실행문;

} while(조건식);

 

- 실행문을 먼저 수행한 후에 조건식을 비교하므로 조건식을 만족하지 않아도 루프의 몸체에 해당하는 실행문은 적어도 한번은 실행된다.

- do ~ while 문 안에 또 다른 do ~ while 문이나 다른 반복문을 사용할 수 있다.

 

 

 

for 문

정해진 횟수만큼 반복해야 하는 경우 유용하게 사용되어지는 반복문으로 while문과 마찬가지로 반복 실행해야 할 실행문이 하나인 경우에는 중괄호를 생략할 수 있다.

● 형식

for(초기식; 조건식; 증감식){

실행문;

}

 

- 초기식은 초기화를 위해 사용되며 단 한번만 실행된다. 또한 콤마를 이용하여 동시에 여러 변수의 초기값을 설정할 수 있다.

- 조건식의 결과는 반드시 true 또는 false 이어야 하며 조건식이 true 이면 루프를 반복 수행한다.

- 증감식은 루프 변수의 재 초기화를 위해 사용되며 콤마를 이용하여 여러 문장을 동시에 수행할 수 있다.

- for( ; ; )와 같이 조건식에 아무것도 기술하지 않거나 for( ; true; )처럼 true로 설정하면 무한 루프(infinite loop)가 된다.

- for 문 안에 다른 for 문이나 다른 반복문을 사용할 수 있다.

- for 문의 실행 순서는 다음과 같다.

초기식->조건식->조건식이 참이면 for 문안의 문장을 실행하고 거짓이면 for문을 빠져나감->증감식

->조건식->조건식이 참이면 for 문안의 문장을 실행하고 거짓이면 for문을 빠져나감->증감식

->조건식->조건식이 참이면 for 문안의 문장을 실행하고 거짓이면 for문을 빠져나감->증감식->.....

 

break 문

 

break 문

반복문(while, do ~ while, for)이나 switch문 내의 블록으로부터 제어를 빠져 나오기 위해 사용된다.

 

● 형식

break;

 

break 라벨명

반복문(while, do ~ while, for)이 다중으로 작성된 경우 한번에 두개 이상의 반복문을 빠져나오기 위해 사용된다.

● 형식

break 라벨명:;

 

- break문 다음의 라벨명(label)은 반드시 메소드 내의 같은 유효범위를 갖는 라벨명 이어야 하며, 한 프로그램에서는 동일한 이름으로 라벨명을 재사용 할 수 없다.

- 라벨명은 식별자를 작성하는 방법과 동일하게 기술하며 라벨명인지를 나타내기 위해 뒤에 콜론(:)을 붙인다.

 

 

 

continue 문

 

continue 문

반복문(while, do ~ while, for)에서 사용되며, continue를 만나면 루프에서 하나의 반복을 중단하고 루프의 다음 반복을 계속한다. while 문과 do ~ while 문에서 continue를 만나면 바로 조건식으로 돌아가고, for 문은 증감식으로 올라간다.

 

● 형식

continue;

 

continue 라벨명

반복문이 다중으로 작성된 경우 한번에 두개이상의 반복문 조건식(for문은 증감식)으로 제어를 옮기기 위해 사용된다.

● 형식

continue 라벨명;

 

- continue 문 다음의 라벨명(label)은 반드시 메소드 내의 같은 유효범위를 갖는 라벨명 이어야 하며, 한 프로그램에서는 동일한 이름으로 라벨명을 재사용 할 수 없다.

- 라벨명은 식별자를 작성하는 방법과 동일하게 작성하며 라벨명인지를 나타내기 위해 뒤에 콜론(:)을 붙인다.

 

 

 

return 문

 

return 문

return 문은 메소드의 실행을 끝내고, 프로그램의 제어를 호출한 부분으로 되돌려주기 위해 사용된다.

 

● 메소드의 정상적인 종료

- 메소드의 코드 블록 실행 중 return 문을 만났을 때

- 리턴 타입이 void인 메소드는 return 문을 만나거나 코드 블록의 마지막에 도달할 때

 

● 리턴 타입이 void인 메소드의 return

- 형식

return;

- 메소드 실행 후에, 반환 값이 없는 메소드는 리턴 타입을 void로 선언한다.

- 메소드 실행 중 return; 문을 만나면 메소드의 실행을 종료하고 제어가 호출한 쪽으로 넘어간다.

- 리턴 타입이 void인 메소드는 return 문을 생략할 수 있다.

- return이 생략된 경우에는 메소드의 마지막 문장을 수행한 후에 제어가 호출한 쪽으로 넘어간다.

 

● 리턴 타입이 void가 아닌 메소드의 return

- 형식

return 반환값;

- 반환값이 있는 경우로 return 문을 생략할 수 없다.

- 코드 실행 중 return 반환값; 을 만나면 호출한 곳으로 반환값을 넘기면서, 호출한 쪽으로 제어가 넘어간다.

- 반환값은 리턴 타입과 일치하거나 작아야 한다.

728x90
반응형

'코 딩 공 부 > J A V A' 카테고리의 다른 글

JAVA - 객체 지향 프로그래밍  (0) 2021.04.13
JAVA - 배열  (0) 2021.04.12
JAVA - 연산자  (0) 2021.03.16
JAVA - 기본 프로그램(2)  (0) 2021.03.08
JAVA - 기본 프로그램(1)  (0) 2021.03.05