코딩항해기
[JAVA] 제어문 (조건문, 반복문, 기타제어문) 본문
제어문, 흐름제어문
프로그램의 흐름(제어방향)을 제어할 때 사용한다.
조건문, 반복문, 기타제어문이 있다.
[조건문] if, switch
조건에 따라 코드의 실행여부를 결정하는 구문으로 if문과 switch문이 있다.
반복문과 달리 코드는 조건이 true일 때 한 번만 실행된다.
if문은 if문, if~else문, if~else if문으로 나뉘게 된다.
if문
조건식의 결과에 따라서 분기처리할 때 사용한다.
조건식의 결과가 true라면 영역 안의 코드가 실행되고, false라면 실행되지 않고 넘어간다.
if문이 끝나고 오는 코드는 if문과 관계없이 실행된다.
if (조건식) {
실행할 코드; //조건식의 결과가 true일 때만 실행
}
if~else문
if~else문은 if문에서 false의 경우를 처리할 수 없었던 단점을 보완한 방식이다.
if문 뒤에 else문을 작성하게 되면 if문 조건식이 false일 때 else문 안에 있는 코드가 실행된다.
if문 없이 else문만 단독으로 사용할 수 없다.
if (조건식) {
조건식의 결과가 true일 때만 실행되는 코드;
}
else{
상단 if 조건식의 결과가 false일 때만 실행되는 코드;
}
if~else if문
if~else if문은 if~else에서 조건이 추가 된 방식으로, 여러 조건을 차례로 확인할 수 있다.
첫 번째 if문이 false일 때 다음 else if문의 참거짓을 확인하고 두 번째도 false라면 세 번째를 확인하는 방식이다.
만약 if문이 true라면 해당 조건문 안에 있는 코드를 실행하고 if~else if문을 벗어나게 된다.
if~else문과 마찬가지로 if문 없이 단독으로 사용할 수는 없다.
if (조건식1) {
조건식1의 결과가 true일 때 실행되는 코드;
}
else if (조건식2) {
조건식1의 결과가 false이지만 조건식2가 true 일 때 실행되는 코드;
}
else{
조건식1, 2의 결과가 false일 때 실행되는 코드;
}
switch문
변수의 값에 따라서 case의 값과 같은지 다른지에 따라 분기처리 할 때 사용한다.
이제 잘 사용하지 않는 구문이라고 하여 간단히 정리하고 넘어가겠다.
switch (변수명) {
case 값1 :
변수의 값이 값1일 때 실행되는 코드;
break; //해당 영역을 즉시 탈출
case 값2 :
변수의 값이 값2일 때 실행되는 코드;
break;
default: //생략 가능
//그 외 경우에 실행되는 코드;
break;
}
switch의 변수에 저장할 수 있는 타입
- 정수형 타입 : int long char(유니코드 문자에 해당하는 정수값)
- 문자열 타입 : String
- Enum 타입 : Enum 클래스의 상수
- Wrapper 클래스 : Integer, Long, Character, ...
switch의 변수에 저장할 수 없는 타입
- 실수형(float, double)
- 논리형(boolean)
[반복문] while, do~while, for, for-each
반복문은 조건식이 true일 동안 반복하여 영역 안의 코드를 실행하는 구문으로 크게 while문과 for문이 있다.
while문은 while문과 do~while문이 있고, for문은 for문과 for-each문이 있다.
while문
조건식이 true인 동안 무한히 반복하는 반복문이다.
반복하는 횟수가 정해지지 않았을 때 사용되는 반복문이며, 무한 반복 시에는 종료조건이 따라오게 된다.
while (조건식) {
조건식이 true인 동안 반복 실행되는 코드;
//무한 반복이라면 종료조건이 필요하다.
}
[무한 반복 일 경우]
while (true) {
반복 실행되는 코드;
if (반복을 종료할 조건) {
반복을 종료하며 한 번만 실행되는 코드;
break; //해당 반복문 영역을 즉시 탈출
}
}
do~whlie문
whlie문과 동일하지만 최소 한 번은 무조건 실행해야 할 때 사용한다.
do 영역 안에 있는 코드를 먼저 한 번 실행한 후에 while 옆에 있는 조건을 검사하게 되는 방식인데,
이 방식도 잘 사용하지 않는다고 하여 짧게 정리한다.
do {
반복실행할 문장;
} while (조건식);
for문
while문과는 다른 부분은 반복하는 횟수가 정해져 있다는 점이다.
즉, for문은 반복하는 횟수가 명확할 때 사용하는 반복문으로 배열을 순회하거나, 특정한 횟수만큼 무언가를 해야할 때 사용된다.
for (초기식; 조건식; 증감식) {
특정 횟수만큼 반복 실행할 코드;
}
초기식 : 처음에 설정할 값
조건식 : 조건이 true이면 영역안의 문장을 실행시키고 false면 for문 탈출
증감식 : 값이 얼마나 증감할지 결정하는 식
ex)
for (int i = 0; i < 100; i++) {
100회 반복 실행할 코드;
}
for-each문(빠른 for문, 확장 for문)
배열이나 컬렉션을 순회할 때 사용되는 반복문으로 배열이나 컬렉션의 길이만큼 반복하게 된다.
반복할 때 정확한 길이는 아직 알지 못하지만 특정한 배열이나 컬렉션의 길이만큼 반복이 필요할 때 사용하게 된다.
요소의 타입과 변수명을 지정하여 간편하게 순회가 가능하다.
해당 변수에는 배열의 요소가 한 개씩 차례대로 담긴다.
for (요소의 타입 변수명 : 배열 또는 컬렉션) {
배열 또는 컬렉션 길이만큼 반복되는 코드;
}
ex)
String[] array = {"mini", "B", "cake"};
for (String nickname : array) {
System.out.print(nickname);
}
[console]
miniBcake
이중 for문
한 번의 반복문 안에 다른 반복문이 중첩하여 사용하는 것을 의미합니다.
별찍기를 할 때 많이 사용되는 방식입니다.
for(초기식1;조건식1;증감식1){ //바깥for문
for(초기식2;조건식2;증감식2){ //안쪽for문
실행할코드;
}
}
[기타제어문] break, continue
주로 반복문에서 사용된다. break문은 switch문에서도 사용된다
- break문 : 즉시 해당 중괄호 영역을 탈출한다 중괄호 영역 안에 있는 아래 코드를 실행시키지 않는다
- continue문 : 즉시 다음 반복으로 넘어간다 아래 코드는 스킵한다
'JAVA' 카테고리의 다른 글
[JAVA] 오버로딩 (Overloading), this, this() (0) | 2024.07.02 |
---|---|
[JAVA] 클래스와 객체화 (0) | 2024.07.02 |
[JAVA] 객체지향언어 특징 (0) | 2024.06.23 |
[JAVA] 객체 생성하기 (0) | 2024.06.22 |
[JAVA] 객체와 객체지향언어 장단점 (0) | 2024.06.21 |