본문 바로가기

Java

[chapter04] 제어문

1. 조건문과 반복문


  • 조건문

- if-else문, switch-case

- 조건문은 조건식과 문장을 포함하는 블록 { }으로 구성되어 있으며, 조건식의 연산결과에 따라 실행흐름을 변경할 수 있다

 

  • 반복문

- for, while, do-while

- 반복문은 어떤 작업이 반복적으로 수행되도록 하고자 할 때 사용된다

 

* 반복의 횟수를 알 수 있을 때 : for

* 반복의 횟수를 알 수 없을 때 : while

2. 조건문 - If 문


  • (1) 일반적인 if 문
if(조건식1(boolean형)){
	문장; //조건식1이 true일때 수행될 문장
}

...

else if(조건식2){
	문장; //조건식1은 False, 조건식2가 true일 때 실행
}
...

else if(조건식3){
	문장; //조건식1은 False, 조건식2도 false, 조건식3은 true일 때 실행
}
...

else{
	문장; //조건식이 false일 때 수행될 문장
    	  //마지막에는 보통 else블럭으로 끝나며, else블록은 생략 가능
}

 

  • (2) 블록 생략 가능한 if 문

: 수행될 문장이 단 하나일 경우 { }블록을 사용하지 않아도 된다

if(조건식)
	문장;	//수행될 문장이 단 하나일 경우 블록{ }을 사용하지 않아도 된다
else
	문장;

 

  • (3) 삼항 연산자

- 간단한 if - else문은 조건연산자를 사용하여 표현 할 수도 있다

(조건식) ? 식1: 식2

//조건에 해당하면 식1을 반환, 조건에 부합하지 않으면 식2를 반환

 

  • (4) 중첩 if 문

: if 문 안에 또다른 if 문이 있는 경우

if(조건식1){
	if(조건식2){
    	문장; //조건식1이 true, 조건식2가 true일 때 수행될 문장
   	}
    	else{
    	문장; //조건식1이 true, 조건식2가 false일 때 수행될 문장
  	}
}
else{
	문장;  //조건식1이 false일 때 수행될 문장
}

 

2. 조건문 - Switch 문


: 루프 내의 문장들을 한번 실행한 후 조건을 검사하여 false가 될 때까지 루프내의 문장을 반복 실행하는 탈출 조건형 루프

  • (1) 일반적인 Switch Case문
switch(조건식){
	case 값1:
    		문장;	//변수 값이 값1일 때 실행내용
        	break;
   	case 값2: 
    		문장; //변수 값이 값2일 때 실행내용
       		break;
    
    	....
    
    	default:
    		문장; //조건식의 결과와 일치하는 값이 없을 경우 수행
       	 	break;
}

 

* case문 뒤의 break문을 생략하면 다른 break문을 만나거나 switch문의 블록{ }의 끝을 만날 때까지 빠져 나오지 못하고 이하 모든 문장들을 수행한다

 

* 모든 switch문은 if문으로 변경이 가능하지만, 모든 if문이 switch문으로 변경할 수 없다

 

* 값은 char, String, 숫자 가능하다

 

3. 반복문 - while


: 조건을 먼저 검사하여 true인 동안만 문장들을 실행하는 진입 조건형 루프

  • (1) 일반적인 while 문

 

while(조건식){
	문장; //조건식의 결과가 true인 경우 수행
}

 

 

  • (2) do-while 문

- 일단 루프 내의 문장들을 한번 실행한 후, 조건을 검사하여 false가 될때까지 루프내의 문장들을 반복 실행하는 탈출 조건형 루프

do {
	문장; //조건식의 결과가 true일 경우 수행
}while(조건식);
	// 조건 생각하지 않고 적어도 한번은 문장이 수행된다

 

 

3. 반복문 - For 문


- 초기식으로 시작하여 조건식을 거친후 조건식에 만족하면 블럭내의 문장을 수행하고 증감식을 실행한 후 조건식에 만족하지 못할때 까지 조건식 -> 문장 -> 증감식 -> 조건식 의 루프를 반복한다

 

  • (1) 일반적인 for 문
for( 초기식; 조건식; 증감식){
	문장; //조건문이 true일 때 수행될 문장
}

 

  • (2) 대표적인 for 문 예시
//1.
for(int i=0; i<10; i++){
	문장;
}  //int 형 i가 0으로 초기화되어 9가 될때가지 문장을 수행하며 1씩 증가된다


//2. 
for( ; ; ){
	문장;
}  //조건식이 없기에 결과가 true로 간주되어 문장이 무한반복 되어 수행된다


//3.
for(int i=1, int j=1; i < 10 && i*j < 50; i++){
	문장;
}  //쉼표(,)를 이용하여 하나 이상의 변수를 선언 및 초기화, 증감식 등이 가능하다. 단, 같은 타입인 경우만 가능하다

 

  • (3) for each문

 

3. 반복문 - break & continue 문


  • break 문

- 반복문에서 break문이 정의되어있는 첫번째 반복문 블럭을 탈출한다

- switch문에서 break문이 정의되어있는 첫번째 switch블럭을 탈출한다

반복문 {
    문장;
    continue;
    문장;
}

 

  • continue 문

- 반복문에서 continue를 만나면 그 뒤의 문장은 무시하고 조건검사로 다시 돌아 온다

반복문 {
    문장;
    continue;
    문장;
}

 

 

  • 이름 붙은 반복문

- 반복문 앞에 이름을 붙이고 break문과 continue문에 이름을 지정하여 하나 이상의 반복문을 탈출하거나 반복을 건너 뛸 수 있다

이름붙은 반복문: 반복문 {
    문장;
    break 이름붙은 반복문;
    문장;
    continue 이름붙은 반복문;
}
package com.javaex.basic;

public class Test {

	public static void main(String[] args) {
		Loops: for(int i = 2; i <= 9; i++) {
			for(int j = 1; j <= 9; j++) {
				if(j == 5)
					break Loops;
				break;
				continue Loops;
				continue;
				System.out.println(i + "*" + j +"=" + i*j);
			}
		}
	}

}

'Java' 카테고리의 다른 글

[Chapter 10] Object클래스  (0) 2021.12.15
[Chapter08]객체지향 프로그래밍2  (0) 2021.12.14
[chapter 05 ] 배열  (0) 2021.12.09
[Chapter11] 제네릭과 컬렉션  (0) 2021.12.08
[Chapter01]자바 언어 소개  (0) 2021.12.08