[스터디]Java의 정석 5일차

Kristopher·2021년 12월 31일
0

Java 스터디

목록 보기
5/31

Chapter 4 조건문과 반복문

조건문

if문 / if-else문 / if-else if문

if (condition) {
	//condition의 결과가 true경우 실행할 문장
}

if문은 일반적인 영어 구문과 유사하다. Condition안에 들어가는 제어문은 Boolean을 반환하도록 해야 하며, Boolean 반환값에 따라 실행될 구문이 달라지는 것이다.실행해야 할 문장이 한줄인 경우 괄호{}를 생략할 수 있지만 코드를 추가해야하는 경우에 오류가 날 수 있고, 코드의 가독성을 위해 {}를 쓰는 것이 좋다.

if (condition) {
	//condition의 결과가 true인 경우 실행할 문장
} else {
	//condition의 결과가 false인 경우 실행할 문장
}

if-else문은 if문과 다르게 condition의 반환값이 fasle인 경우에 실행할 문장도 적을 수 있다. if-else문을 if문으로 풀어서 표현한다면 두개의 condition을 실행해야하기 때문에 if-else문이 더 효율적이다.

if (condition1) {
	//condition의 결과가 true인 경우 실행할 문장
} else if (condition2) {
	//condition2의 결과가 true인 경우 실행할 문장
} else if (condition3) {
	//condition3의 결과가 true인 경우 실행할 문장
} else {
	// 위의 condition 모두 false일 경우 실행할 문장
}

if-else문의 경우 흑백논리로만 나뉘기 때문에 여러가지 조건으로 나누고 싶을 경우에는 if-else if문을 사용하여야 한다.

switch문

switch (condition) {
	case value1 : 
    		//condition 결과가 value1과 일치할 경우 수행할 문장
	case value2 : 
    		//condition 결과가 value2와 일치할 경우 수행할 문장
    default :
    		//condition의 결과와 일치하는 case문이 없을 시에 수행할 문장
}  

switch문은 if문과 유사해보이지만 condition의 반환값이 정수 혹은 문자열이여야한다는 점이 가장 큰 차이점이다. default로 시작하는 구문은 else구문과 유사해보인다.

반복문

for / while / do-while

for ( initialize value ; condition ; value increase/decrease) {
	// condition 반환 값이 true일 때 수행할 문장
}

반복문에는 크게 3가지 종류가 있다. 그 중 for문은 반복의 횟수를 정확히 아는 경우에 주로 사용한다. 3가지 값을 지정하지 않는 경우 condition 값이 항상 true라고 판단하여 무한루프를 돌게 된다. 최근 자바가 업데이트 되며 향상된 for문도 등장했는데 배열 또는 컬렉션을 사용할 때 적용 가능한 방법이다.

//향상된 for문
for ( 변수 설정 : 배열 혹은 컬렉션 ) {
	// 반복할 문장. 이 경우 배열이나 컬렉션의 값을 하나씩 불러오며 실행되다가 배열이나 컬렉션의 마지막 값이 나오는 경우 반복이 멈춘다.
}
while  (condition) {
	//condition이 true인 동안 반복될 문장
}

while문의 condition 자리는 생략할 수 없다.

do {
	// condition 결과가 true인 경우 수행할 문장
} while (condition); // 앞의 문법과 다르게 마지막에 ;가 붙는다

while문과 유사하나 do안에 문장이 먼저 실행되고 condition을 다루기 때문에 최소한 한번의 수행이 보장된다.

반복문의 제어

break : break가 포함된 가장 가까운 반복문을 빠져나간다.
continue : break와 달리 반복문 자체를 빠져나가는 것이 아니라 현재 실행중인 반복을 끝내고 다음 반복으로 넘어간다

반복문을 정의할 때 이름을 붙인다면 break와 continue사용시에 반복문의 이름을 붙여 어떠한 반복문을 빠져나갈 것인지 의미를 좀 더 명확히 할 수 있다.

Reference

Java의 정석
남궁성의 정석코딩

profile
개발자 지망생입니다.

1개의 댓글

comment-user-thumbnail
2022년 1월 8일

오늘도 글 감사합니다,,,!

답글 달기