If- Then
If-Then 문은 제어 흐름 문장 중 가장 기본적인 형태입니다. 특정 조건이 참(true)일 경우에만 특정 코드 섹션을 실행하도록 프로그램에 지시합니다. 이는 프로그램의 동작을 조건부로 만드는 강력한 도구입니다.
기본 구조
If-Then 문의 기본 구조는 다음과 같습니다:
if (조건) {
// 조건이 참일 때 실행할 코드
}
예를 들어, 자전거 클래스(Bicycle)의 브레이크 시스템을 구현할 때 다음과 같이 사용할 수 있습니다:
public void applyBrakes() {
// "if" 절: 자전거가 움직이고 있어야 함
if (isMoving) {
// "then" 절: 현재 속도 감소
currentSpeed--;
}
}
이 예시에서 isMoving
변수가 true
일 경우에만 currentSpeed--
명령어가 실행됩니다. 만약 isMoving
이 false
라면(즉, 자전거가 멈춰있을 경우), 프로그램은 if-then 문을 건너뛰고 다음 줄로 이동합니다.
중괄호 생략 가능성
If-Then 문에서 "then" 절에 단일 문장만 있을 경우, 중괄호({})를 생략할 수 있습니다.
public void applyBrakes() {
// 중괄호 없이 작성한 동일한 코드
if (isMoving)
currentSpeed--;
}
중괄호를 생략할 것인지 여부는 개인의 취향에 따라 결정할 수 있습니다. 그러나 중괄호를 생략하면 코드가 더 취약해질 수 있습니다. 나중에 "then" 절에 두 번째 문장이 추가될 경우, 새로운 중괄호를 추가하는 것을 잊어버리는 것이 흔히 저지르는 실수입니다. 컴파일러는 이러한 유형의 오류를 잡아낼 수 없으므로, 잘못된 결과가 발생하 수 있습니다.
주의사항 및 팁
- 코드 가독성: 중괄호를 포함하여 코드를 작성하면 가독성이 향상되고 유지보수가 용이해집니다.
- 오류 방지: 중괄호를 사용하면 나중에 코드를 수정할 때 실수를 줄일 수 있습니다.
- 일관성: 프로젝트 전체에서 일관된 스타일을 유지하는 것이 좋습니다. 팀 프로젝트의 경우, 팀 내에서 중괄호 사용에 대한 규칙을 정하는 것이 좋습니다.
- 복잡한 조건: 여러 조건이 필요한 경우, 논리 연산자(and, or, not)를 사용하여 복잡한 조건문을 만들 수 있습니다.
If-Then-Else 문 개요
If-Then-Else 문은 If-Then 문을 확장한 형태로, 조건에 따라 두 가지 서로 다른 행동을 선택할 수 있게 해주는 제어 흐름 구조입니다. 이는 프로그램의 논리를 더 풍부하게 만들어주며, 다양한 상황에 대응할 수 있게 합니다.
기본 구조
If-Then-Else 문의 기본 구조는 다음과 같습니다:
if (조건) {
// 조건이 참일 때 실행할 코드
} else {
// 조건이 거짓일 때 실행할 코드
}
예시 코드
자전거의 브레이크 시스템을 구현한 예시를 살펴보겠습니다:
public void applyBrakes() {
if (isMoving) {
currentSpeed--;
} else {
System.err.println("The bicycle has already stopped!");
}
}
이 코드에서는 isMoving
변수가 true
일 경우에만 currentSpeed--
명령어가 실행됩니다. 만약 isMoving
이 false
라면 (즉, 자전거가 이미 멈춰있는 경우), 에러 메시지가 출력됩니다.
복합 조건 사용
If-Then-Else 문에서는 여러 조건을 체크할 수 있습니다. 시험 점수를 기준으로 등급을 부여하는 예시를 살펴보겠습니다:
import java.util.Scanner;
public class MovieTicketPrice {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("나이를 입력하세요: ");
int age = scanner.nextInt();
String priceMessage;
if (age < 0) {
priceMessage = "유효하지 않은 나이입니다.";
} else if (age < 13) {
priceMessage = "무료";
} else if (age <= 18) {
priceMessage = "500원";
} else if (age <= 64) {
priceMessage = "1000원";
} else {
priceMessage = "800원";
}
System.out.println("티켓 가격: " + priceMessage);
}
}
조건 평가 순서
중요한 점은, 조건들이 순차적으로 평가된다는 것입니다. 위의 예시에서 testscore
는 70이상이고 60 이상이라는 두 조건 모두를 만족하지만, 먼저 충족되는 조건(C 등급)에 해당하는 코드만 실행됩니다. 그 후의 조건들은 평가되지 않습니다.
주의사항
- 조건 순서: 조건들을 적절한 순서로 배치하는 것이 중요합니다. 더 구체적인 조건부터 시작하는 것이 좋습니다.
- 논리적 오류: 조건문이 논리적으로 일관성을 갖는지 항상 확인해야 합니다.
- 가독성: 복잡한 조건을 가진 경우, 각 조건에 대한 주석을 달아 코드의 의도를 평확히 하는 것이 좋습니다.
- 효율성: 불필요한 조건 평가를 피하기 위해 조건들을 최적화할 수 있습니다.
실제 적용 사례
If-Then-Else 문은 다양한 상황에서 유용하게 사용됩니다:
- 사용자 인증: 비밀번호가 올바른지 확인하고, 맞으면 로그인 허용, 틀리면 오류 메시지 표시
- 데이터 유효성 검사: 입력값이 유효한지 확인하고, 유효하면 처리, 무효하면 에러 처리
- 게임 개발: 플레이어의 상태에 따라 다른 액션 수행
편히 모아진 글 보시려면 아래 위키독스 링크 >>
https://wikidocs.net/book/17111
'JAVA' 카테고리의 다른 글
JAVA 제어문 - for 문 [코딩백과 with JAVA] (0) | 2024.12.22 |
---|---|
JAVA while 문 [코딩백과 with JAVA] (0) | 2024.12.22 |
JAVA 블록 [코딩백과 with JAVA] (0) | 2024.12.21 |
JAVA 표현식 - 명령문 (코딩백과 with JAVA] (0) | 2024.12.21 |
JAVA 부동소수점 연산 [코딩백과 with JAVA] (1) | 2024.12.21 |