제어문
- 제어문의 종류 : 조건문, 반복문, 탈출문
- 반복문이 실행되는 동안 실행을 중지시키고 싶다면 탈출문 사용
1. 조건문 if ~ else
- if문 : 프로그램의 흐름을 바꾸는데 사용되는 조건 선택 분기문
- 조건식의 결과가 거짓일 때 실행할 문장이 없다면, else문 이하 생략 가능
// 조건문의 기본형
if(조건식){
실행문;
}
//만약 필요하다면 거짓인경우도 실행요소를 작성할 수 있습니다.
if(조건식){
실행문;
} else {
실행문;
}
1.1 다중 분기 조건문 if ~ else if ~ else
- 여러 조건들을 설정할 때 사용하는 조건문
- if ~ else if 구문은 위에서부터 차례대로 조건을 검색하면서 내려오므로 조건식 설정 주의
//기본형(if문은 필수, else문은 생략 가능)
if(조건문){
실행문;
} else if(조건문){
실행문
}...
// else문 결합형태
if(조건문){
실행문;
} else if(조건문){
실행문;
} else {
실행문;
}
// else if문을 두 개 이상 사용한 형태
if(조건문){
실행문;
} else if(조건문){
실행문;
} else if(조건문){
실행문;
} ...
else {
실행문;
}
1.2 조건문 switch ~ case
- 복합 if문은 구현하기 복잡하고 프로그램의 효율성이 감소되기에,
다중 분기 문제를 해결할 때는 switch문 사용 - switch문은 다중 분기 구조이므로, 복합 if문의 논리적인 구조를 간결하게 표현 가능
- if문과는 달리 조건식 X → 값을 가지는 변수 또는 표현식이 판단조건으로 사용
- 연산 결과의 데이터 타입은 int, String, Enum(열거형)
- case문 뒤에 사용되는 값은 변수 사용 X, 반드시 상수
- switch ~ case문에서 default는 if~else에서 else와 비슷
// 기본형
switch(검사변수){
case 값1:
실행문;
(break;, 필요시 작성)
case 값2:
실행문;
(break;, 필요시 작성)
...
}
// default 구문 추가
// 기본형
switch(검사변수){
case 값1:
실행문;
(break;, 필요시 작성)
case 값2:
실행문;
(break;, 필요시 작성)
...
default :
실행문;
(break;, 마지막 구문 break는 필요없지만, 가독성 문제로 작성하기도 함.)
}
1.3 String 문자열을 int형으로 치환하는 방법
String str = "2002";
int year = Integer.parseInt(str);
--> year 변수에 정수값 2002가 할당됨.
- parseInt() 메서드를 사용하려면 치환하기 전의 String 변수 값이 반드시 숫자 형태여야 한다.
2. 반복문 while
- 조건식을 만족하는 동안 반복문을 실행하는데,
조건식이 참이면 실행문을 반복하고, 거짓이면 while문을 빠져나옵니다. - boolean타입으로 결과 반환
- 조건식 안에 true를 넣으면 무한루프가 발생하기 때문에 반드시 탈출구문을 넣어야 한다.
while(조건식){
실행문;
}
2.1 반복문 do ~ while
- while문은 처음 실행 조건이 false라면 실행문이 단 한번도 실행되지 않는다.
- do 이하의 구문이 먼저 한 번 실행된 뒤에 조건식을 검사하므로 무조건 한번은 실행된다.
do {
실행문;
} while(조건식);
2.2 반복문 for
- 제어조건을 한꺼번에 지정한다
- 정확한 반복 횟수를 알고 있을 때 사용
for(초기값; boolean형 조건식; 반복 표현식) {
반복할 실행문;
}
2.2.1 향상된 for 루프 (Enhanced for loop)
- 배열 및 컬렉션에 들어있는 모든 원소들에 대한 반복 작업 쉽게 처리 가능
for(배열의 값을 담을 변수 : 배열의 이름) {
실행문;
}
2.2.2 중첩 반복문
- 반복문 내부에 반복문을 집어넣는다
for(int i = 0; i < 5; i++){
for(int j = 0; j < 10; j++){
스쿼트();
}
// 스쿼트 10개를 5세트하는 것
}
3. 탈출문
- 프로그램의 실행 순서를 지정된 곳으로 이동시키는 문장
반복문 또는 블록구조에서 빠져 나올 때 사용 - break, continue, return
3.1 break
- break는 반복문 내의 어떤 곳이든 위치할 수 있으며,
처리 도중에 break를 만나면 반복문을 곧바로 빠져나온다. - 중첩 반복문의 경우에 내부 반복문에서 break가 사용되었을 경우
그 break문이 속한 내부 반복문만 빠져나오게 된다 - 중첩 반복문에서 바깥쪽 반복문까지 종료시키려면
바깥쪽 반복문에 이름(label) 을 붙이고, "break 이름;"을 사용하면 됩니다.
3.2 continue
- continue문은 반복문 내의 어떤 곳이든지 위치할 수 있다.
- continue문을 만나면 반복문의 맨 처음으로 제어가 이동하여
다음 반복문을 위한 증/감식을 실행한다.
'Programing🤖 > JAVA' 카테고리의 다른 글
[JAVA] 접근제한자와 상속 (0) | 2024.08.23 |
---|---|
[JAVA] 클래스와 객체지향 프로그래밍 (0) | 2024.08.23 |
[JAVA] 함수와 메서드 (0) | 2024.08.23 |
[JAVA] 변수와 자료 (0) | 2024.08.23 |
[JAVA] 기본사항 이해하기 (0) | 2024.08.23 |