Backend/Do it 자바 완전 정복 강의

04 제어문과 제어키워드

solog 2025. 1. 14. 02:04

4-1.제어문의 개요 및 선택제어문 (if, switch)

- 제어의 의미는 프로그램 실행 순서를 제어하는 것을 의미한다.

- 제어문은 5가지, 제어 키워드는 2가지가 존재한다.

- 중괄호의 생략 의미는 결국 컴파일러에 의해 삽입이 된다. (그러나, 실행문이 1개인 경우이므로 실행문이 2개들어가면 첫번째 실행문만 제어문이 {}안에 포괄하고 있는 것이다.

- 조건식에는 꼭, true 와 false만 올 수 있다는 것을 기억하자.

- if와 else 는 꼭 하나이고, else if는 여러개 가능하다.

- ★ 참이 나오는 순간 바로 실행문 출력후 조건문을 종료한다. (즉, 조건문이 동시에 true, true가 나올수 없다.)

 

Tip

- (70 <= a < 80)과 같은 표현은 불가능

- (70 <= a < 80) 을 (a>=70 && a < 80)으로 표현해야한다.

- switch의 역할은 특정 위치로 점프 시키는 역할 (즉, 점프만 시키면 스위치의 역할은 끝이난다.)

- break의 의미 : if문을 제외한 가장 가까운 중괄호({}) 1개를 탈출 => break가 존재하지 않으면 점프 한 지점부터 끝까지 case 출력문이 모두 출력된다.

- 의도적 break 미사용 : 하나의 실행문에 break을 사용하지 않고 여러 개의 case를 연결하는 경우 코드가 간결해질 수 도 있다.

- 어떤 위치값을 제외한 몇개의 위치값이 동일한 결과값을 출력하고 싶을 때 묶어서 하나의 출력문만 사용하면 break를 여러개 쓰지 않고도 동일한 결과값을 출력할 수 있다.

 

Quiz : Swithch과  if문 사이의 성능 차이가 있을까?

=> 데이터가 많을 수록 switch가 좀 더 빠르다. 

=> if문은 조건을 따지기 때문에 아래의 조건일수록 속도가 더 오래걸리지만, switch문은 모든 case의 속도가 동일하다.

=> 엄청난 차이는 아니다.

 

4-2. 반복제어문 (for, while, dowhile)

- 조건식이 false인 타이밍이 for문이 끝나는 타이밍이다.

- for문이 무한루프 이더라도, 실행내용 안에 break가 존재하면 탈출할수 있다.

- 무한루프 for문은 보통 for ( ; ; )로 나타낸다 => 초기식과 증감식이 의미가 없기 때문이다.

- while문을 무한루프로 만들것이 아니라면 일반적으로 실행내용안에 증감식을 통해 조건식 false로 만들 수 있게 사용한다.

- 초기식은 while문 바깥에 존재해야한다. 안에 있으면 반복문을 돌때마다 다시 초기화 되기 때문이다.

- while문에서는 조건식을 생략할 수 없다

 

Tip

- 무한루프가 아닌 경우 while 문에는 for문과 같이 초기식, 조건식, 증감식이 모두 포함되어야 함

- do while은 일단 실행하고, 그 다음 조건식을 따진다.

- 즉, 무조건 한번은 실행내용이 실행된다.

- Tip : do-while 문과 while 문은 반복횟수가 1회 이상일때는 동일한 결과 (반복횟수가 0이면 while문은 아무것도 출력하지 않는다.) => 1회이상일때는 반복횟수가 동일하다!! do while이 한번더 돌지 않는다.

 

<제어문의 중복>

 

4-3. 제어키워드 (break, continue)

- break와 continue

- 문장의 형식이 있지는 않다.

- 중괄호 1개를 탈출하는 것이다. 

- break라는 것은 중괄호 한개만 탈출한다는 것을 의미한다. => 그렇다면 제어문이 중복일 때 안의 중복만 탈출하게 된다.

 

Quiz : 두개의 중괄호를 한번에 탈출하고 싶다면?

 - 위의 방식은 개발자들이 편리하게 사용하기 위해 쓰는 방법이다.

- 이 방법은 정석적으로 두개의 중괄호를 탈출하고 싶을 때 사용하는 방법이다.

- 즉, 레이블이란 깃발을 의미한다.

- 레이블은 다중반복문일때 사용하기 편리하고, 위의 i=100처럼 조건보다 큰 값을 설정하는 것은 두개의 반복문일때 사용하기 좋다.

- 반복문에서 닫힌 중괄호 (})의 역할은 다시 위로 올리는 의미이다.

- continue는 닫힌 중괄호와 대치되는 개념이므로 즉, 다시 위로 올려 닫힌 중괄호인 것처럼 동작한다.

- continue의 사용 예는 어떤 조건을 제외하고 싶을 때 사용하기 좋다. (마치 pass와 같은 기능)

- continue 또한 레이블을 사용하여 이중반복문을 나올 수 있다.

 

 

 

https://www.youtube.com/@doit4312/playlists

 

Do it 자바 완전 정복 동영상 강의

Do it 자바 완전 정복 동영상 강의입니다.

www.youtube.com

위 강의를 참고하여 작성하였습니다.