
사용자 입력(Scanner)을 받아 성별이 "Men"이거나 나이가 20살이면 바로 if 문에서 || (OR) 연산자로 비교하여 입장 가능 여부를 판단하는 Java 예제
import java.util.Scanner;
public class DirectORCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("--- 입장 조건 검사 (Men || 20살) ---");
// 1. 성별 입력 받기
System.out.print("성별을 입력하세요 (Men): ");
String gender = scanner.nextLine();
// 2. 나이 입력 받기
System.out.print("나이를 입력하세요: ");
int age = scanner.nextInt();
scanner.close();
System.out.println("---------------------------------");
System.out.println("입력된 정보: 성별=" + gender + ", 나이=" + age);
// 3. if 문에서 OR (||) 연산자로 두 조건을 바로 비교
// 조건: 성별이 "Men" 이거나 (||) 나이가 20살 인가?
if (gender.equalsIgnoreCase("Men") || age == 20) {
// 이 블록은 둘 중 하나라도 참이면 실행됩니다.
System.out.println(" 결과: 조건 중 하나를 만족하여 입장이 가능합니다.");
} else {
// 이 블록은 두 조건 모두 거짓일 때만 실행됩니다.
System.out.println(" 결과: Men도 아니고 20살도 아니어서 입장이 불가능합니다.");
}
}
}
if 문에서 && (AND) 논리 연산자로 '성별이 "Men"이고 20살이면 입장' 조건을 바로 비교하는 Java 예제입니다.
이 코드는 성별과 나이 두 가지 조건 모두를 만족해야만 입장이 허용
import java.util.Scanner;
public class DirectANDCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("--- 입장 조건 검사 (Men && 20살) ---");
// 1. 성별 입력 받기
System.out.print("성별을 입력하세요 (Men): ");
String gender = scanner.nextLine();
// 2. 나이 입력 받기
System.out.print("나이를 입력하세요: ");
int age = scanner.nextInt();
scanner.close();
System.out.println("---------------------------------");
System.out.println("입력된 정보: 성별=" + gender + ", 나이=" + age);
// 3. if 문에서 AND (&&) 연산자로 두 조건을 바로 비교
// 조건: 성별이 "Men" 이고 (&&) 나이가 20살 인가?
if (gender.equalsIgnoreCase("Men") && age == 20) {
// 이 블록은 두 조건 모두 참일 때만 실행됩니다.
System.out.println(" 결과: Men이고 20살이므로 입장이 가능합니다.");
} else {
// 이 블록은 두 조건 중 하나라도 거짓일 때 실행됩니다.
System.out.println(" 결과: 조건이 모두 충족되지 않아 입장이 불가능합니다.");
}
}
}
❓ 삼항 연산자 예제: 성별 판별하기
Java의 삼항 연산자(Ternary Operator) ? :는 if-else 구문을 한 줄로 간결하게 표현할 때 사용합니다. 이 예제는 입력된 숫자(1 또는 2)에 따라 "여자" 또는 "남자"를 출력합니다.
삼항 연산자의 기본 구조는 다음과 같습니다:
조건식 ? 참일 때 값 :거짓일 때 값
import java.util.Scanner;
public class TernaryGenderChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("숫자를 입력하세요 (1:여자, 2:남자): ");
int inputNumber = scanner.nextInt();
scanner.close();
// 1. 삼항 연산자를 사용하여 성별 판별
// 조건: inputNumber가 1인가?
// 참일 때 값: "여자"
// 거짓일 때 값: "남자" (여기서는 2가 아니어도 남자로 처리됨)
String gender = (inputNumber == 1) ? "여자" : "남자";
System.out.println("-------------------------");
System.out.println("입력된 숫자: " + inputNumber);
System.out.println("판별된 성별: " + gender);
}
}
작동 원리 설명
- 사용자가 숫자를 입력하면 inputNumber 변수에 저장됩니다.
- String gender = (inputNumber == 1) ? "여자" : "남자";
- 조건식: inputNumber == 1 입니다.
- 만약 사용자가 **1**을 입력했다면 조건식은 **true**가 되고, gender 변수에는 **"여자"**가 저장됩니다.
- 만약 사용자가 2 (또는 다른 숫자)를 입력했다면 조건식은 **false**가 되고, gender 변수에는 **"남자"**가 저장됩니다.
이처럼 삼항 연산자는 단일 조건에 대한 간단한 값 선택을 수행할 때 매우 유용합니다.
🗓️ Java switch 문 예제: 요일 출력하기
Java의 switch 문을 사용하여 정수 입력(1부터 6)에 따라 요일(월요일부터 토요일)을 출력하는 예제입니다.
이 예제에서는 사용자로부터 숫자를 입력받아 해당 요일을 판별하고, 해당 요일이 아니거나 범위를 벗어난 숫자가 입력되면 기본값(default)을 출력합니다.
import java.util.Scanner;
public class DayOfWeekSwitcher {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("--- 요일 판별기 (1:월요일 ~ 6:토요일) ---");
System.out.print("1부터 7까지의 숫자를 입력하세요: ");
int day = scanner.nextInt();
scanner.close();
String dayName;
// switch 문 시작: day 변수의 값에 따라 case 블록 실행
switch (day) {
case 1:
dayName = "월요일 (Monday)";
break; // case 1이 참이면 여기서 switch 문을 빠져나감
case 2:
dayName = "화요일 (Tuesday)";
break;
case 3:
dayName = "수요일 (Wednesday)";
break;
case 4:
dayName = "목요일 (Thursday)";
break;
case 5:
dayName = "금요일 (Friday)";
break;
case 6:
dayName = "토요일 (Saturday)";
break;
case 7:
dayName = "일요일 (Sunday)";
break;
default:
// 위에 나열된 어떤 case에도 해당하지 않을 때 실행
dayName = "잘못된 입력입니다. 1에서 7 사이의 숫자를 입력하세요.";
break;
}
System.out.println("------------------------------------");
System.out.println("입력된 숫자: " + day);
System.out.println("결과 요일: " + dayName);
}
}
☕ switch 문 예제: 커피 메뉴 주문하기
Java의 switch 문을 사용하여 고객이 입력한 메뉴 번호에 따라 주문된 커피 메뉴와 가격을 출력하는 예제입니다.
💻 Java 코드 예시
import java.util.Scanner;
public class CoffeeOrder {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("--- 커피 메뉴 주문 ---");
System.out.println("1. 아메리카노 (4000원)");
System.out.println("2. 카페 라떼 (4500원)");
System.out.println("3. 카푸치노 (4500원)");
System.out.println("4. 에스프레소 (3500원)");
System.out.println("----------------------");
System.out.print("메뉴 번호를 입력하세요: ");
// 사용자로부터 메뉴 번호(정수) 입력 받기
int menuChoice = scanner.nextInt();
scanner.close();
String menuName;
int price;
// switch 문을 사용하여 메뉴 번호에 따라 메뉴 이름과 가격 결정
switch (menuChoice) {
case 1:
menuName = "아메리카노";
price = 4000;
break;
case 2:
menuName = "카페 라떼";
price = 4500;
break;
case 3:
menuName = "카푸치노";
price = 4500;
break;
case 4:
menuName = "에스프레소";
price = 3500;
break;
default:
// 1~4번 외의 번호를 입력했을 경우
menuName = "선택 불가 메뉴";
price = 0;
break;
}
System.out.println("----------------------");
if (price > 0) {
System.out.println("✅ 주문 확인: " + **menuName** + "를(을) 선택하셨습니다.");
System.out.println("💰 결제 금액: " + **price** + "원 입니다.");
} else {
System.out.println("❌ 오류: 유효하지 않은 메뉴 번호입니다.");
}
}
}
🔑 주요 설명
- switch (menuChoice): 사용자가 입력한 menuChoice 변수의 값을 확인합니다.
- case 1: ~ case 4:: 입력된 값이 해당하는 case의 코드를 실행하여 menuName과 price를 설정합니다.
- break;: 필수적으로 사용됩니다. 이 구문이 없으면 선택된 case 아래의 모든 case 코드가 연속적으로 실행되는 Fall-through 현상이 발생합니다.
- default:: 메뉴에 없는 번호가 입력되었을 때 실행됩니다. 여기서는 menuName을 "선택 불가 메뉴"로, price를 0으로 설정했습니다.
- 결과 출력: switch 문을 통해 결정된 menuName과 price 값을 마지막 if 문에서 출력하여 최종 주문 결과를 보여줍니다.
'Java_language' 카테고리의 다른 글
| 반복문 , 배열 (Array) 기타 예제 (0) | 2025.11.24 |
|---|---|
| Scanner 일반변수,배열변수 입력받기 (0) | 2025.11.24 |
| 자바 배열(Array) 활용 (0) | 2025.11.17 |
| 구구단 출력,1부터 100까지 합 계산 (0) | 2025.11.17 |
| 반복문(for, while)과 제어문(break, continue) 쉽게 배우기 (0) | 2025.11.17 |