사이먼's 코딩노트
[Java] 조건문(if, else if, else) 본문
[조건문]
- Java에서는 True/False로 참/거짓을 분별한다.
- 조건문의 기본 구조 및 예시는 아래와 같다.
class Main {
public static void main(String[] args) {
int age = 30;
if (age > 19) {
System.out.println("성인입니다.");
}
}
}
- 기본 구조 if()에서 ( ) 괄호 안에 조건을 써놓고 조건이 참일 때 { } 안에 작성한 문법들이 동작한다.
- 조건에는 사칙연산이 아닌 논리연산을 넣어야 한다.
- 위 예시에서는 age라는 변수에 30을 넣고 조건문을 통해 성인인지 아닌지를 판별할 수 있다.
- 만약 age가 19이라는 숫자 초과면 "성인입니다."라는 출력문을 출력하게 된다.
class Main {
public static void main(String[] args) {
int age = 30;
if (age > 19) {
System.out.println("성인입니다.");
}
else if (age < 20) {
System.out.println("미성년입니다.");
}
}
}
- if를 하나씩 쓰게되면 프로그램 상 위에서 아래로 내려가면서 전부 체크를 하게 되어있다.
- 프로그램의 효율성이나 실행 속도를 빠르게하기 위해서는 상황에 맞춰 조건문을 하나로 묶어주는 것이 좋다.
- 하나로 묶는다는 의미는 최초 작성한 조건문 if 아래에 else if를 작성하는 것이다.
- 정해진 조건 중에 if나 else if에 참이 없을 경우, 가장 마지막에 예외를 막기위한 else 조건문을 작성한다.
- else는 조건부를 작성하지 않아도 된다.
- if문 안에 if문을 작성하는 것도 가능하다.
class Main {
public static void main(String[] args) {
int age = 190; // 이 값을 바꿔가면서 실행해보세요.
System.out.println("당신의 나이는 " + age + "살 입니다.");
System.out.println("=== 정답1 ===");
if (age > 19 && age < 60) {
System.out.println("할인 대상이 아닙니다.");
}
if (age <= 19 || age >= 60) {
System.out.println("할인대상입니다.");
}
// 논리연산자 없이
System.out.println("=== 정답2 ===");
if (age <= 19) {
System.out.println("할인대상입니다.");
} else if (age >= 60) {
System.out.println("할인대상입니다.");
} else {
System.out.println("할인 대상이 아닙니다.");
}
System.out.println("=== 정답3 ===");
if(age >= 20) {
if(age < 60) {
System.out.println("할인 대상이 아닙니다.");
}
}
}
}
- 연산자 중 &&는 and(그리고)의 의미로 조건이 모두 만족해야 동작한다.
- 연산자 중 ||는 or(~이거나)의 의미로 조건이 하나라도 만족하면 동작한다.
- 아래는 19살 이하 또는 60살 이상이면 마트의 할인 대상이다라는 조건문을 작성한 예시이다.
반응형
'Java > Java' 카테고리의 다른 글
[Java] 클래스와 메서드(1) (2) | 2024.01.29 |
---|---|
[Java] 객체지향 프로그램 (0) | 2024.01.24 |
[Java] 반복문(for, while) (0) | 2024.01.22 |
[Java] 변수 / 연산자 (0) | 2024.01.17 |
[Java] Java 기본구조 / System.out.println (0) | 2024.01.16 |