[2017/1/26] Project Java 4일차: CH 4. 조건문과 반복문

CH 4. 조건문과 반복문
-제어문: 프로그램의 흐름을 바꾸는 역할을 하는 문장들
1. 조건문 – if, switch
-처리할 경우의 수가 많을 때는 swtich문이 효율적이지만, switch문은 if문보다 제약이 많다.

1.1. if문
-만일 조건식이 참이면 괄호 안의 문장들을 실행해라
-i.e. if (조건식) { }
-조건식의 결과는 반드시 true 또는 false여야 한다.
-‘}’ 다음에 문장의 끝을 의미하는 ;를 붙이지 않는다.
-블럭 내 문장은 들여쓰기를 해준다.

1.2. if – else문

1.3. if – else if문
-else문은 생략 가능. 어떤 블록도 수행되지 않을 수 있다.

1.4. 중첩 if문
-괄호가 생략되었을 때 else블럭은 가까운 if문에 속한 것으로 간주.

1.5. switch문
-switch문은 항상 if문으로 변환이 가능하지만 if는 switch문으로 작성할 수 없는 경우가 많다.
-i.e. switch(조건식){
case 값1:
실행문
break;
case 값2:
실행문
break;
default:
실행문
}
-default문의 위치는 어디라도 상관없으나 보통 마지막에 놓기 때문에 break문을 쓰지 않아도 된다.
-switch문의 제약조건
● 조건식은 반드시 정수
● case문의 값은 반드시 정수 상수
-Math.random()메서드는 0.0<= x <1.0의 x를 반환한다. -char타입의 값은 사실 문자가 아닌 정수로 저장되기 때문에 swtich문의 조건식과 case문에서 사용 가능하다. -복잡할 경우: 속도를 향상시켜야 한다면 복잡하더라도 switch문을 선택해야겠지만 그렇지 않다면 if문이 더 적합 -case문의 개수를 최소화하는 것이 중요하다.

2. 반복문 – for, while, do – while
-do – while문에 속한 문장은 무조건 최소한 한 번은 수행될 것이 보장된다.
-for문은 주로 반복횟수를 알고 있을 때 사용한다.

2.1. for문
-for문의 구조와 수행 순서
-구조: for(초기화; 조건식; 증감식) { 실행문 }
-수행순서 1 2 4 3 -초기화: 둘 이상의 변수가 필요할 때는 콤마 치면 됨. 대신 두 변수의 타입은 같아야 한다.
-증감식: 초기화와 마찬가지로 변수가 두 개 이상일 수 있다.
-세 요소는 필요하지 않으면 생략할 수 있다.
-조건식이 생략될 경우 무한 반복문으로 간주됨.
-향상된 for문: for (타입 변수명: 배열 또는 컬렉션) { }
● 배열 또는 컬렉션 타입이어야 한다.
● Python에서의 for문의 사용과 비슷

2.2. while문
-초기화와 증감식이 필요하지 않은 경우 while문이 더 적합하다.
-while문의 조건식은 생략할 수 없다.
-실행문에 내용 없을 때
● for (;;);
● for (;;){ }

2.3. do – while문
-i.e. do {} while (조건식); –> 끝에 ‘;’ 꼭 쓰기

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

2.5. continue문
-반복문의 끝으로 이동하여 다음 반복으로 넘어간다.
-if문과 함께 사용되어 특정 조건을 만족하는 경우에 continue문 이후의 문장들을 수행하지 않고 다음 반복으로 넘어가서 계속 진행하도록 한다.

2.6. 이름 붙은 반복문
-중첩 반복문 앞에 이름을 붙이고 break문과 continue문에 이름을 지정해 줌으로써 하나 이상의 반복문을 벗어나거나 반복을 건너뛸 수 있다.
-i.e. Loop1 : for(;;) {for(;;){ if(j == 5){ break Loop1; } }}

댓글 남기기