제어문
- 프로그램 수행 흐름을 바꾸는 역할
- 조건문, 반복문, 분기문
📌조건문
- 선택적으로 실행하는 선택문
- 조건식이 true일 경우 실행문 실행
- 조건식에서는 보통 비교연산자(대소, 동등), 논리연산자(&&, ||) 사용
- if문은 조건문이 true, false인지와 상관없이 무조건 조건절을 실행하지만
if~else if~else문은 먼저 오는 조건문이 true면 이후 조건문은 실행하지 않음
- if문
1. 단독 if문
package 선언부
Class 작성부
method 작성부
if(조건식) {
System.out.println("조건식이 true일 경우 출력");
}
2. if-else문
package 선언부
Class 작성부
method 작성부
if(조건식) {
System.out.println("조건식이 true일 경우 출력");
} else {
System.out.println("조건식이 false일 경우 출력");
}
if(num > 0) {
if(num % 2 == 0) {
System.out.println("양수이자 짝수");
} else {
System.out.println("양수이자 홀수");
}
} else {
System.out.pritnln("음수");
}
3. if-else if문
package 선언부
Class 작성부
method 작성부
if(조건식1) {
System.out.println("조건식1이 true일 경우 출력");
} else if(조건식2) {
System.out.println("조건식2이 true일 경우 출력");
} [else {
System.out.println("조건식들이 모두 false일 경우 출력");
}]
- switch문
- 동등 비교만 가능
- 실행할구문 실행 후 조건문을 자동으로 빠져나오질 못함 (break;문 작성해야함)
package 선언부
Class 작성부
method 작성부
switch(동등 비교할 대상자) {
case 값1: 실행할 코드1; break;
case 값2: 실행할 코드2; break;
...
[default: 값들과 모두 일치하지 않을 경우 실행할 코드;]
}
switch(gender) {
case 'm':
case 'M': System.out.println("남자"); break;
case 'f':
case 'F': System.out.println("여자"); break;
📌반복문
- for문 (== for loop문)
- 반복적으로 실행하는 반복문
- 중첩 사용 가능
- 초기식
반복문 수행할 때 한번만 실행
주로 반복문 안에서 사용될 변수를 선언과 동시에 초기화하는 구문
- 조건식
반복문을 수행할 조건을 작성
주로 초기식에 제시된 변수를 사용하여 작성
조건식이 true인 동안 반복해서 코드 실행
- 증감식
반복문을 제어하는 변수의 값을 증감시킴
주로 초기식에 제시된 변수와 증감 연산자(++, --)를 사용하여 작성
package 선언부
Class 작성부
method 작성부
for(초기식; 조건식; 증감식;) {
반복해서 실행할 코드;
}
- 원하는
횟수
만큼 반복문 돌리려면
for(int i=0; i<횟수
; i++) {}
- 향상된 for문 (== for each문)
package 선언부
Class 작성부
method 작성부
for(변수 선언 : 배열 또는 컬렉션) {
반복해서 실행할 코드;
}
for(int a : arr) {
System.out.print(a + " ");
}
- while문
1. while문
package 선언부
Class 작성부
method 작성부
[초기식;]
while(조건식) {
반복해서 실행할 코드;
[증감식;]
}
2. do-while문
- 조건검사없이 코드가 한번은 무조건 실행되고 그 후 조건식이 true인 동안 반복해서 코드 실행
package 선언부
Class 작성부
method 작성부
do {
반복해서 실행할 코드;
} while(조건식);
📌분기문
- break;
- 반복문 안에서 break;가 실행되는 순간
속해있는 반복문을 빠져나감
- 단, switch문 안에서의 break;는 오로지 switch문 만을 빠져나감
package 선언부
Class 작성부
method 작성부
반복문() {
if(num % 2 == 0) {
break;
}
}
반복문() {
switch() {
case 1: break;
}
break;
}
- continue;
- 반복문 안에서 continue;가 실행되는 순간
그 뒤의 구문들은 실행되지 않고 속해있는 반복문의 처음으로 올라감
package 선언부
Class 작성부
method 작성부
반복문() {
if(num % 2 == 0) {
continue;
}
}