조건문 |
조건문은 조건에 따라 다른 문장이 수행되도록 하고, 반복문은 특정 문장들을 반복해서 수행한다.
조건문 IF, SWITCH
IF문
만일(if) 조건식이 참(true)이면 괄호{} 안의 문장들을 수행하라. 라는 의미
if(조건식){
//조건식이 참(true)일 때 수행될 문장들을 적는다.
}
IF-ELSE문
if문에 else블럭이 추가된 것
if(조건식){
//조건식이 참(true)일 때 수행될 문장들을 적는다.
}else{
//조건식이 거짓(false)일 때 수행될 문장들을 적는다.
}
IF-ELSE IF문
처리해야할 경우의 수가 셋 이상인 경우에 사용
if(조건식1){
//조건식1이 참(true)일 때 수행될 문장들을 적는다.
}else if(조건식2){
//조건식2이 참(true)일 때 수행될 문장들을 적는다.
}else if(조건식3){
//조건식3이 참(true)일 때 수행될 문장들을 적는다.
}else{
//위의 어느 조건식도 만족하지 않을 때 수행될 문장들을 적는다.
}
중첩 IF문
IF문의 블럭 내에 또 다른 IF문을 포함시키는 것
if(조건식1){
//조건식1이 참(true)일 때 수행될 문장들을 적는다.
if(조건식2){
//조건식1과 조건식2가 모두 참(true)일 때 수행될 문장들을 적는다.
}else {
//조건식1이 참(true)이고 조건식2가 거짓(false)일 때 수행될 문장들을 적는다.
}else{
//조건식1이 거짓(false)일 때 수행될 문장들을 적는다.
}
SWITCH문
IF문과 달리 SWITCH문은 단 하나의 조건식으로 많은 경우의 수를 처리할 수 있고, 표현도 간결하다.
1. 조건식을 계산한다.
2. 조건식의 결과와 일치하는 case문으로 이동한다.
3. 이후의 문장들을 수행한다.
4. break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다.
switch(조건식){
case 값1:
//조건식의 결과가 값1과 같을 경우 수행될 문장들
//...
break;
case 값2:
//조건식의 결과가 값2과 같을 경우 수행될 문장들
//...
break; //switch문을 벗어난다.
//..
default:
//조건식의 결과와 일치하는 case문이 없을 때 수행될 문장들
//...
}
SWITCH문의 제약 조건
1. SWITCH문의 조건식 결과는 정수 또는 문자열이어야 한다.
2. CASE문의 값은 정수 상수만 가능하며, 중복되지 않아야 한다.
public static void main(String[] args){
int num. result;
final int ONE = 1;
...
switch(result){
case '1': //OK. 문자 리터럴(정수 상수 49와 동일)
case ONE: //OK. 정수 상수
case "YES": //OK. 문자열 이러털. JDK 1.7부터 허용
case num: //에러. 변수는 불가
case 1.0: //에러. 실수는 불가
}
}
반복문 |
반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용되며, 반복문의 종류로는 for문, while문, do-while문이 있다.
FOR문
for문은 반복 횟수를 알고 있을 때 적합하다.
for(초기화;조건식;증감식){
//조건이 참일 때 수행될 문장들을 적는다.
}
초기화: 반복문에 사용될 변수를 초기화 하는 부분이며 처음에 한번만 수행된다.
조건식: 조건식의 값이 참(true)이면 반복을 계속학고, 거짓(false)이면 반복을 중단하고 for문을 벗어난다.
증감식: 반복문을 제어하는 변수의 값을 증가 또는 감소시키는 식이다.
초기화와 증감식은 둘이상이 될 수도 있다.
향상된 FOR문
for(타입 변수명 : 배열 또는 컬렉션){
//반복할 문장
}
WHILE문
1. 조건식이 참(true)이면 블럭{}안으로 들어가고, 거짓(false)이면 while문을 벗어난다.
2. 블럭{}의 문장을 수행하고 다시 조건식으로 돌아간다.
while(조건식){
//조건식의 연산결과가 참(true)인 동안, 반복될 문장들을 적는다.
}
DO-WHILE문
do{
//조건식의 연산결과가 참일 때 문장들을 적는다.
}while(조건식); <- 끝에 ';'을 잊지 않도록 주의
BREAK문
break문은 자신이 포함된 가장 가까운 반복문을 벗어난다.
CONTINUE문
continue문은 반복문 내에서만 사용할 수 있으며, 진행되는 도중에 continue문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다. for문의 경우 증감식으로 이동하며, while문과 do-while문의 경우 조건식으로 이동한다.
이름 붙은 반복문
public static void main(String[] args) {
//바깥쪽 반복문에 Loop라는 이름을 붙였다.
Loop : for(int i = 2; i < 9; i++) {
for(int j = 0; j < 9; j++) {
if(i==5)
break Loop; //Loop을 멈춤
break; //안쪽 반복문을 멈춤
continue Loop; //Loop의 조건식으로 이동
continue; //안쪽 반복문의 조건식으로 이동
System.out.println(i+j);
}
System.out.println();
}
}
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA 이론] 객체지향 프로그래밍_1 (2) | 2022.01.19 |
---|---|
[JAVA 이론] 배열 (0) | 2022.01.15 |
[JAVA 이론] 연산자 (0) | 2021.12.28 |
[JAVA 이론] 변수 (0) | 2021.12.16 |
[JAVA 이론] 자바 (0) | 2021.12.15 |