조건문
IF 문
if(조건식) {
조건식이 참이면 실행하는 영역
}
if문은 조건식이 참인 경우 실행영역을 실행하고 거짓일 경우에는 무시하고 넘어가는 문법입니다.
ELSE 문
if(조건식) {
조건식이 참이면 실행하는 영역
}
else {
거짓이면 실행하는 영역
}
if문이 참일 경우 if문의 실행 영역을 실행하고 else문의 실행영역을 무시하고 넘어갑니다. 하지만 if문이 거짓일 경우에는 if문의 실행영역을 무시하고 else문의 실행 영역을 실행하게 됩니다.
ELSE IF 문
if (조건식1) {
조건식 1이 참이면 실행하는 영역
}
else if (조건식2) {
조건식1이 거짓 조건식 2가 참이면 실행하는 영역
}
else {
거짓이면 실행하는 영역
}
else if문은 if~else if~else문을 중첩시킨 결과로 조건식1이 거짓이고 조건식2가 참이면 실행되는 영역입니다.
조건 연산자 혹은 삼항 연산자
(조건식) ? 참일시 실행 : 거짓일시 실행;
if~else문을 대신해서 사용이 가능한 조건 연산자는 괄호 안에 조건식이 만약 참이면 ? 바로 오른쪽 옆에 문장을 실행하게 됩니다. 조건식이 거짓이라면 : 바로 오른쪽 옆 문장을 실행하게 됩니다.
SWITCH 문
int num = 2;
switch (num) {
case 1:
값이 1이면 실행하는 영역
case 2:
값이 2이면 실행하는 영역
default:
해당하는 값이 없으면 실행하는 영역
}
if문은 값이 정확하게 정해져있지 않고 조건식을 통해서 해당값이 참인지 거짓인지 확인하는 문법이였습니다. 하지만 switch문의 경우에는 조건이 여러개인 경우에 사용하면 코드를 간결하게 작성할 수 있어 사용됩니다.
기본 동작으로는 받은 값과 case문 조건과 비교해서 같을 경우 해당 case 영역을 실행합니다.
하지만 예를 들어 case 1:에서 참이 되어 실행 되는 경우에 이후의 case문을 전부 실행하게 됩니다.
반복문
WHILE 문
int n = 0;
while (n < 10) {
System.out.println(n);
n++;
}
while문의 경우에 괄호 안의 조건이 참일때 까지 반복하는 반복문입니다. 위에 코드를 예시로 보면 n이 10이 되기 전까지 반복하게 됩니다. 0~9까지 반복하게 되고 마지막 9에서 반복문을 실행하게 되면 n이 10이 되어 while문 조건식에서 확인했을 때 조건이 거짓이므로 반복문을 탈출하게 됩니다.
while문의 경우 보통 반복횟수가 정해져 있지 않고 반복문 실행영역에서 조건값이 어떤식으로 변할지 모를 때 사용합니다.
DO~WHHILE 문
int n = 0;
do {
System.out.println(n);
n++;
} while (n < 10);
do~while 문은 while문과 비슷한 기능을 제공합니다. 하지만 다른점은 선 실행 후 조건 감사를 한다는 점이 다릅니다.
while문의 경우
- 조건을 검사
- 결과가 true면 괄호 영역 실행
하지만 do~while문의 경우
- 괄호 영역 실행
- 그리고 조건 검사 후 결과가 true이면 반복을 결정
이런 식으로 반복 조건을 검사하는 시점의 차이가 있습니다.
FOR 문
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
for문은 반복횟수를 세기 위한 변수 부분( i ), 반복조건(i < 10), 한 번 반복하면 실행하는 영역(i++) 로 이루어 져있습니다.
while문과 달리 반복 변수, 반복 조건, 반복 후 증가치가 한 번에 볼 수 있어 몇 번 반복할 수 있는지 직관적으로 알 수 있는 장점이 존재합니다. while문이 반복횟수를 모를 때 사용한다면 for문의 경우 반복횟수를 아는 경우에 주로 사용합니다.
실행 흐름 제어문
BREAK 문
int num = 2;
switch (num) {
case 1:
값이 1이면 실행하는 영역
break;
case 2:
값이 2이면 실행하는 영역
break;
default:
해당하는 값이 없으면 실행하는 영역
break;
}
switch 문의 문제점을 해결하기 위해서는 break문이 필요합니다. break문을 실행하면 실행 흐름 컨트롤 문법을 탈출하게 됩니다. 그래서 switch문에서 사용하면 case문의 영역을 실행하고 마지막에 break문을 만나 switch 문을 탈출하게 됩니다.
int n = 0;
while (n < 10) {
if ( n == 4) {
break;
}
n++;
}
for(int i = 0; i < 10; i++) {
if(i == 4) {
break;
}
}
또한 break문은 반복문에서도 사용할 수 있습니다. switch문에서 빠져나갔듯이 반복문에서도 break문을 만나면 반복횟수가 몇 번 남아있든 무시하고 반복문을 탈출하게 됩니다.
윗 코드에서 모두 조건이 4가 되면 반복문을 탈출하게 됩니다.
CONTINUE 문
for(int i = 0; i < 10; i++) {
if (i == 4) {
continue;
}
System.out.println(i);
}
continue 문은 뒤에 어떤 코드가 오든 무시하고 반복문을 종료하는 문법입니다. break의 경우 완전히 반복문을 탈출했다면 continue 문의 경우 현재 반복만을 종료합니다.
LOOP 문
loop :
for (int i = 0; i < 10; i++) {
for(int j = 0; j < 10; j++) {
if(j == 4) {
break loop;
}
}
}
단일 반복문의 경우 break문으로 간단하게 탈출할 수 있습니다. 하지만 중첩 반복문의 경우 break문이 가장 가까운 반복문만을 탈출합니다. 따라서 중첩 반복문을 탈출하고자 할 때는 가장 바깥의 반복문에 loop: 를 붙이고 탈출하고 싶은 부분에 break loop;라고 작성해야 중첩 반복문을 탈출할 수 있습니다.
출처
W3Schools.com
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
'Programming > Java' 카테고리의 다른 글
클래스와 생성자 (0) | 2024.08.02 |
---|---|
Java 메소드와 변수의 스코프 (0) | 2024.08.01 |
연산자(Operators) (0) | 2024.08.01 |
Java 변수의 형변환 (0) | 2024.07.28 |
Java 변수 (0) | 2024.07.27 |