프로그램 수행 흐름을 바꾸는 역할을 하는 제어문 중 하나로
조건에 따라 다른 문장이 수행되도록 함
if(조건식) {
// 수행될 코드
}
if(조건식) {
// true일 때 수행되는 코드
} else {
// false일 때 수행되는 코드
}
* if는 true, false와 상관 없이 조건절 실행,
if~else if~else는 조건문이 true면 이후 조건은 실행하지 않음
if(조건식1) {
// 조건식1 true일 때 수행
} else if(조건식2){
// 조건식2 true일 때 수행
} else {
// 모두 false 일 때 수행
}
조건식 하나로 많은 경우의 수 처리할 때 사용하며
이때 조건식의 결과는 정수 또는 문자, 문자열
조건식의 결과 값과 일치하는 case문으로 이동
default문은 일치하는 case문이 없을 때 수행(= else )
switch(조건식) {
// case 조건식 결과1: 수행될 코드; break;
// case 조건식 결과2: 수행될 코드; break;
// default: 수행될 코드;
}
프로그램 수행 흐름을 바꾸는 역할을 하는 제어문 중 하나로
특정 문장들을 반복해서 수행하도록 함
for(초기식; 조건식; 증감식) {
// 수행될 코드;
}
* 2회전 이상부터는 모두 2회전과 동일하고
조건식이 false가 나올 때까지 문장 수행
for(초기값1; 조건식1; 증감식1) {
수행될 코드1;
for(초기값2; 조건식2; 증감식2) {
수행될 코드2;
}
수행될 코드3;
}
while(조건식) {
// 수행될 코드;
[증감식 or 분기문];
}
// 예시
int i = 1;
while(i <= 10) {
System.out.println(i + " 출력");
i++;
}
// --> 1
// 2
// .
// .
// .
// 10 출력
* { } 안에 조건을 벗어나게 할 연산(증감식, 분기문) 필요
do {
// 수행될 코드;
[증감식 or 분기문];
} while(조건식);
// 예시
int i = 1;
do {
System.out.println(i + "출력");
i++;
} while(i <= 10);
// --> 1
// 2
// .
// .
// .
// 10 출력
* while과 do~while의 차이점
do~while은 조건문이 true가 아니더라도 무조건 한 번 이상 수행
반복문에서는 break문 자신이 포함된 가장 가까운 반복문을 빠져나가는 구문
for(int i = 1;; i++) {
System.out.println(i + " 출력");
if(i >= 10) {
break;
}
}
for(초기값1; 조건식1; 증감식1) {
수행될 코드1;
for(초기값2; 조건식2; 증감식2) {
수행될 코드2;
break;
}
수행될 코드3;
[break;]
}
두 번째 for문에 break를 만날 경우 반복문을 나가 수행될 코드3을 수행 후
다시 첫 번째 for문을 실행하지만
마지막 break가 있다면 수행될 코드3을 수행 후 for문을 완전히 빠져나감
반복문 내에서만 사용 가능하며
반복문 실행 시 continue 아래 부분은 실행하지 않고 반복문 다시 실행
for문의 경우 증감식으로 이동, while(do~while)문의 경우 조건식으로 이동
전체 반복 중에 특정 조건을 만족하는 경우를 제외하고자 할 때 유용
for(int i = 1; i <= 10; i++) {
if(i % 2 == 0) {
continue;
}
System.out.println(i + " 출력");
}