04-1. 조건문
조건문 - if 문
- 주어진 조건에 따라 다른 실행이 이루어 지도록 구현
- if문 문법
if (조건식) { 수행문; // 조건식이 '참'인 경우에 (조건에 맞는 경우) 수행문이 수행됨 } // 조건식이 '참'이 아니면 (조건에 맞지 않는 경우) 수행문이 수행되지 않음 |
- if - else 문 문법
if (조건식) { 수행문1; // 조건식이 '참'인 경우에 수행됨 } else { 수행문2; // 조건식이 '참'이 아닌 경우에 수행됨 } |
if-else if-else 문
- 하나의 상황에 대한 조건이 여러 개로 나뉘고 각 조건에 다른 수행이 이루어져야 할 경우 사용
- 각 조건은 상호 배타적. 즉, 하나의 조건식이 만족하면 다른 조건식은 비교하지 않음
if (조건식1) { 수행문1; // 조건식1이 '참'인 경우 수행하고 전체 조건문을 빠져나감 } else if (조건식2) { 수행문2; // 조건식2이 '참'인 경우 수행하고 전체 조건문을 빠져나감 else if(조건식3) { 수행문3; // 조건식3이 '참'인 경우 수행하고 전체 조건문을 빠져나감 else { 수행문4; // 위 조건이 모두 해당되지 않는 경우 수행됨 (디폴트 조건) } 수행문5; // if-else if-else 문이 끝나면 수행됨 가령 조건식2가 만족되면 수행문2 ㅡ> 수행문5 순으로 수행됨 |
if-else if 문과 if-if 문의 차이
- if-else if 를 사용하는 경우 하나의 조건이 만족 되면 나머지 else if 부분은 수행되지 않음
- if-if로 사용하게 되면 각각 다른 조건 문으로 해석되어 각각 수행하게 됨
예제
![]() |
조건이 여러 개 일 때 간단히 표현되는 switch-case 문
switch-case 문
- if-else if-else 문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현
- 비교 조건이 특정 값이나 문자열인 경우 사용
- break 문으 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함
- 자바 14부터 좀 더 간결해진 표현식이 지원됨 (break 사용하지 않음)
switch(조건) { case 값1 : 수행문1; break; case 값2 : 수행문2; break; case 값3 : 수행문3; break; default : 수행문4; } |
Java 14부터 지원 되는 Switch Expression
- 간단하게 쉼표(,)로 조건 구분
- 식으로 표현 하여 반환 값을 받을 수 있음, 리턴 값이 없는 경우는 오류가 생김
- yield 키워드 사용
04-2. 반복문
조건이 참(true)인 동안 반복수행하기
- 주어진 조건에 맞는 동안(true) 지정된 수행문을 반복적으로 수행하는 제어문
- 조건이 맞지 않으면 반복하던 수행을 멈추게 됨
- 조건은 주로 반복 횟수나 값의 비교의 결과에 따라 true, false 판단 됨
- 예) 달리는 자동차, 일정 횟수 만큼 돌아가는 나사못, 특정 온도까지 가동되는 에어컨 등
while문
- 수행문을 수행하기 전 조건을 체크하고 그 조건의 결과가 true인 동안 반복 수행
while(조건식) { 수행문1; ... } 수행문2; ... |
무한 반복 할 때
while(true) { ............ } |
조건과 상관없이 한번은 수행문을 수행
do-while문
- while문은 조건을 먼저 체크하고 반복 수행이 된다면 (조건을 먼저 검사하기 때문에 조건식에 맞지 않으면 반복 수행이 한 번도 일어나지 않는다), do-while은 조건과 상관 없이 수행을 한 번 하고나서 조건을 체크
do { 수행문1; ... } while(조건식); 수행문2; ... |
for문
for문의 수행 순서
for (초기화식; 조건식; 증감식) { 수행문; ........ } |
while과 비교 (for문이 더 직관적으로 한 눈에 알아볼 수 있어 편리함)
int count = 1; int sum = 0; for(int i = 0; i < 10; i++, count++) { // 10번 sum += count; // count++; } |
int count = 1; int sum = 0; while(num <= 10) { sum += count; count++; } |
각 반복문은 주로 언제 사용하나요?
while 문 | do-while 문 | for 문 | |
수행 | 조건이 참인 동안 반복 수행 조건이 맞지 않으면 수행되는 부분이 없음 |
조건이 참인 동안 반복 수행 수행문을 먼저 수행하고 조건 체크 |
초기화, 조건체크, 증감 순으로 수행 |
쓰임 | 조건식의 결과나 변수가 true, false 값인 경우 주로 사용 | 조건식의 결과나 변수가 true, false 값인 경우 주로 사용 | 특정 수의 범위, 횟수와 관련하여 반복되는 경우 주로 사용 배열과 함께 많이 사용됨 |
중첩 반복문이란?
- 반복문 내부에 또 다른 반복문이 있음
- 여러 겹으로 반복문을 겹쳐서 구현 가능 (단, 수행시간에 문제가 발생할 수 있음)
- 외부 반복문과 내부 반복문 간의 변수 값 변화에 유의 하며 구현하여야 함
중간에 멈추는 break문, 무시하고 계속 진행하는 continue문
break문 사용하기
- 감싸고 있는 제어문의 블록을 빠져 나오는 기능 (switch문 에서도 사용)
- 반복문에서는 주로 조건문(if)와 같이 사용하여 조건에 해당되는 경우 반복 수행을 멈추고 반복문 외부로 수행이 이동
- 여러 반복문이 중첩되어 있는 경우엔 break 문이 포함되어 있는 반복문만 빠져 나옴
continue문 사용하기
- 반복문 내부에서 조건문(if)와 같이 사용하며, 조건이 맞는 경우(true 이면) 이후 반복문 블럭 내부의 다른 수행문들은 수행하지 않음
'Programming Language > JAVA' 카테고리의 다른 글
[Do it 자바 프로그래밍 입문] 06.클래스와 객체 2 (0) | 2023.05.12 |
---|---|
[Do it 자바 프로그래밍 입문] 05.클래스와 객체1 (0) | 2023.05.11 |
[Do it 자바 프로그래밍 입문] 연습문제 - 다이아몬드 모양 (0) | 2023.05.10 |
[Do it 자바 프로그래밍 입문] 03.자바의 여러 가지 연산자 (0) | 2023.05.09 |
[Do it 자바 프로그래밍 입문] 01~02 변수와 자료형 (0) | 2023.05.09 |