Search

조건문 - if

if 문

만일(if) 조건식이 참(true)이면 괄호 { } 안의 문장들을 수행
if (조건식) { // 조건식이 참(true)일 때 수행될 문장들 }
Java

조건식

if 문에 사용되는 조건식은 일반적으로 비교연산자논리연산자로 구성
Search
조건식의 예
조건식
조건식이 참일 조건
x < 0 || x > 50
Open
정수 x가 0보다 작거나 50 이상일 때
x%3 == 0 && x%2 != 0
Open
정수 x가 3의 배수이지만 2의 배수는 아닐 때
ch == 'y' || ch == 'Y'
Open
문자 ch가 'y' 또는 'Y'일 때
ch == ' ' || ch == '\t' || ch == '\n'
Open
문자 ch가 공백 또는 탭 또는 개행 문자일 때
'A' <= ch && ch <= 'Z'
Open
문자 ch가 대문자일 때
'a' <= ch && ch <= 'z'
Open
문자 ch가 소문자일 때
'0' <= ch && ch <= '9'
Open
문자 ch가 숫자일 때
str.equals ("yes")
Open
문자열 str의 내용이 "yes"일 때(대소문자 구분)
str.equalsIgnoreCase ("yes")
Open
문자열 str의 내용이 "yes"일 때(대소문자 구분안함)
조건식 작성 시, 등가비교연산자 == 대신 대입연산자 =을 사용하는 실수를 하지 말자!
조건식의 결과는 반드시 true 또는 false!!
FlowEx1.java

블럭 { }

괄호 { }를 이용해서 여러 문장을 하나의 단위로 묶을 수 있는 것
if (조건식) { // 블럭의 시작 // 블럭 안의 내용은 tab을 통해 들여써서 알아보기 쉽게 해주는 것이 좋음. } // 블럭의 끝
Java
문장이 하나일 땐 괄호 생략 가능 (생략하지 않는 게 가장 바람직)
if (score > 70) System.out.println("합격"); // 한 줄로 표현도 가능 if (score > 70) System.out.println("합격");
Java
FlowEx2.java

if-else 문

if 문에 else 블럭이 더 추가된 구조로, 조건식 결과가 true가 아닐 때 else 블럭의 문장을 수행
if (조건식) { // 조건식이 true일 때 수행될 문장 } else { // 조건식이 false일 때 수행될 문장 }
Java
FlowEx3.java

if-else if 문

처리해야 하는 경우의 수가 셋 이상인 경우에 사용하는 조건식
if (조건식 1) { // 조건식 1이 true일 때 수행될 문장 } else if (조건식 2) { // 조건식 2가 true일 때 수행될 문장 } else if (조건식 3) { // 조건식 3가 true일 때 수행될 문장 } else { // 마지막은 보통 else 블록으로 종료, 생략 가능 // 위의 어느 경우도 만족하지 않을 때 수행될 문장 }
Java
첫 번째 조건식부터 순서 대로 평가해서 참인 조건식을 만나면, 해당 블럭만 수행하고 if-else if 문 종료
마지막 else 블럭을 생략하면, 경우에 따라 어떤 블럭도 수행되지 않을 수 있음.
FlowEx4.java

중첩 if 문

if 문 블럭 내 또 다른 if 문을 포함시키는 것
if (조건식 1) { // 조건식 1의 연산 결과가 true일 때 수행될 문장들 if (조건식 2) { // 조건식 1과 2의 연산 결과가 true일 때 수행될 문장들 } else { // 조건식 1은 true, 2는 false일 때 수행될 문장들 } else { // 조건식1이 false일 때 수행되는 문장들 }
Java
FlowEx5.java

참고 자료