솜이의 데브로그

Chapter 04 ) 조건문과 반복문 본문

책을 읽자/Java의 정석

Chapter 04 ) 조건문과 반복문

somsoming 2021. 9. 3. 17:13

참고 : Java의 정석

 

1. 조건문

조건문은 조건식과 문장을 포함하는 블럭{} 으로 구성되어 있으며, 조건식의 연산결과에 따라 실행할 문장이 달라진다.

 

(1) if 문

if (조건식) {
	//조건식이 true일 때 수행될 문장들
}

if 조건문이 참일 때 괄호 안의 문장들을 수행하라는 뜻.

 

파이썬과 달리 자바에서는 indentation 자체가 역할을 수행하지 않는다. { } 여부를 잘 확인 할 것.

중첩 if 문 사용 시 역시 가독성을 위해 들여쓰기를 해야하지만, 들여쓰기 자체로는 의미가 없으므로 괄호 구분 잘해주기!

 

(2) switch 문

 

ex)

switch(level){
	case 3:
    	grandDelete();
    case 2:
    	grantWrite();
    case 1:
    	grantRead();
}

switch문은 위와 같이 조건식을 먼저 계산한 다음, 조건식의 결과와 일치하는 case문으로 이동한다. 이후의 문장들을 수행 후, break문이나 switch문의 끝을 만나면 switch 문의 전체를 빠져나간다.

 

switch문의 제약조건

  1. switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
  2. case문의 값은 정수 상수만 가능하며, 중복되지 않아야 한다.

 

※ 참고 ) 문자열에 저장된 문자는 문자열.charAt(index)로 가져올 수 있다.

중첩 switch 문에서 break문을 빼먹지 않도록 주의하자

 

 

2.반복문

 

(1) for문

for문은 반복 횟수를 알고 있을 때 적합하다.

 

for(초기화 ; 조건식 ; 증감식){

           //조건식이 참일 때 수행

}

위와 같은 구조로 사용한다.

 

  • 초기화 : 처음 한번만 수행하며, 반복문에 사용될 변수를 초기화한다.
  • 조건식 : 조건식의 값이 참이면 반복을 계속하고, 거짓이면 반복을 중단하고 for문을 벗어난다.
  • 증감식 : 반복문을 제어하는 변수의 값을 증가 또는 감소시킨다.

향상된 for 문

 

int[] arr = {10, 20, 30, 40, 50};

for(int tmp : arr){
	System.out.println(tmp);
}

배열과 컬렉션에 저장된 요소에 접근 할 때 편리한 방법으로 처리 가능하다.위의 식에서는 배열 arr의 모든 요소를 출력 가능하다.

 

 

(2) while문

while (조건식){
	//조건식의 연산자가 참일동안 반복
}

while문은 조건식이 '참인동안' 블럭 내의 문장을 반복한다.

 

 

(3) do-while 문

do{
	//조건식의 연산결과가 참일 때 수행될 문장들을 적는다
} while(조건식);

블럭을 먼저 수행 한 후, 조건식을 평가한다. 즉, 최소한 한번은 수행될 것을 보장한다.while 후에 ; 를 잊지 말고 붙이자!

 

 

(4) break 문

break문은 자신이 포함된 가장 가까운 반복문을 벗어난다.무한 반복문에는 조건문과 break문이 항상 같이 사용된다.

 

(5) continue 문

continue문은 반복문 내에서만 사용 될 수 있으며, 반복이 진행되는 도중에 continue문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다.

 

(6) 이름이 붙은 반복문

중첩 반복문 앞에 이름을 붙이고 break문과 continue문에 이름을 지정해줌으로써 하나 이상의 반복문을 벗어나거나 반복을 건너 뛸 수 있다.

 

Loop1 : for(int i =2 ; i<=9; i++){
	for(int j =1; j<=9; j++){
    	if(j==5)
        	break Loop1;
            break;
    }
}

내가 까먹고 있었던 개념..

 

 

'책을 읽자 > Java의 정석' 카테고리의 다른 글

Chapter 06 ) 객체지향프로그래밍(1)  (0) 2021.09.04
Chapter 05 ) 배열 array  (0) 2021.09.03
Chapter 03 ) 연산자 operator  (0) 2021.09.03
Chapter 02 ) 변수  (0) 2021.09.02
Chapter 01 ) 자바를 시작하기 전에  (0) 2021.09.02