본문 바로가기

프로그래밍/JAVA

[JAVA 이론] 조건문과 반복문

조건문

조건문은 조건에 따라 다른 문장이 수행되도록 하고, 반복문은 특정 문장들을 반복해서 수행한다.

 

조건문 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