2021. 3. 24. 00:25ㆍ코 딩 공 부/J A V A
조건문
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 반환값; 을 만나면 호출한 곳으로 반환값을 넘기면서, 호출한 쪽으로 제어가 넘어간다.
- 반환값은 리턴 타입과 일치하거나 작아야 한다.
'코 딩 공 부 > 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 |