package lesson02;
import java.util.Scanner;
public class Ex01_If1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("정수를 입력하세요: ");
int number = sc.nextInt();
if(number>0){
System.out.println("양수입니다.");
}
sc.close();
}
}
정수를 입력하세요: 5
양수입니다.
package lesson02;
import java.util.Scanner;
public class Ex02_If2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("정수를 입력하세요: ");
int number = sc.nextInt();
if(number>=0){
System.out.println("0또는 양수입니다.");
}else{
System.out.println("음수입니다.");
}
sc.close();
}
}
정수를 입력하세요: 10
0또는 양수입니다.
package lesson02;
import java.util.Scanner;
public class Ex03_If3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("점수를 입력하세요: ");
int score = sc.nextInt();
if(score>=90){
System.out.println("A학점입니다.");
}else if(score>=80){
System.out.println("B학점입니다.");
}else if(score>=70){
System.out.println("C학점입니다.");
}else if(score>=60){
System.out.println("D학점입니다.");
}else{
System.out.println("재시험 대상입니다.");
}
}
}
점수를 입력하세요:
55
재시험 대상입니다.
package lesson02;
import java.util.Scanner;
public class Ex04_Login {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String correctId = "apple";
String correctPw = "1111";
System.out.print("아이디를 입력하세요: ");
String inputId = sc.nextLine();
System.out.print("비밀번호를 입력하세요: ");
String inputPw = sc.nextLine();
if(inputId.equals(correctId)&&inputPw.equals(correctPw)){
System.out.println("로그인 성공!");
}else{
System.out.println("아이디 또는 비밀번호가 틀렸습니다.");
}
sc.close();
}
}
아이디를 입력하세요: apple
비밀번호를 입력하세요: 1111
로그인 성공!
package lesson02;
import java.util.Scanner;
public class Ex05_SwitchGrade {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("점수를 입력하세요 (0~100): ");
int score = sc.nextInt();
int grade = score / 10;
switch (grade) {
case 10:
case 9:
System.out.println("A학점입니다.");
break;
case 8:
System.out.println("B학점입니다.");
break;
case 7:
System.out.println("C학점입니다.");
break;
case 6:
System.out.println("D학점입니다.");
break;
default:
System.out.println("재시험 대상입니다.");
}
sc.close();
}
}
점수를 입력하세요 (0~100):
60
D학점입니다.
자바의 switch 표현식(Switch Expression)
-> 자바 14부터 도입된 새로운 switch 문법.
기존 switch문보다 더 간결하고 안전하며 값을 반환할 수 있는 기능을 제공한다.
기존에는 각 case마다 break를 사용해야 했지만,
switch 표현식에서는 case 값 -> 실행문 형태로 작성하며, 여러 값을 동시에 처리하거나 yield를 사용해 결과를 반환할 수 있다.
-> switch를 if-else처럼 조건 분기뿐만 아니라 하나의 값으로 결과를 처리하는 표현식처럼 사용할 수 있게 되었다.
package lesson02;
import java.util.Scanner;
public class Ex06_SwitchFruit {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("과일 이름을 영어로 입력하세요 (apple, banana, grape): ");
String fruit = sc.nextLine();
String result = switch (fruit){
case "apple" -> "사과";
case "banana" -> "바나나";
case "grape" -> "포도";
case "peach" -> "복숭아";
case "melon" -> "메론";
default -> "알 수 없는 과일입니다.";
};
System.out.println("입력한 과일의 한글 이름: "+result);
sc.close();
}
}
과일 이름을 영어로 입력하세요 (apple, banana, grape): apple
입력한 과일의 한글 이름: 사과
package lesson02;
import java.util.Scanner;
public class Ex07_SwitchMbti {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("당신의 MBTI를 입력하세요 (예: INFP, ENFP, ISTJ 등): ");
String mbti = sc.nextLine().toUpperCase(); // 대소문자 구분 없이 처리
switch (mbti) {
case "INFP" -> {
System.out.println("🌱 INFP: 이상주의자형");
System.out.println("조용하고 친절하며, 내면의 세계가 풍부해요.");
System.out.println("자신만의 가치관을 가지고 살아가는 당신, 멋져요!");
}
case "ENFP" -> {
System.out.println("🔥 ENFP: 재기발랄한 활동가형");
System.out.println("창의적이고 열정적이며, 주변을 활기차게 만드네요!");
System.out.println("당신 덕분에 주변이 밝아져요 😄");
}
case "INTJ" -> {
System.out.println("🧠 INTJ: 전략가형");
System.out.println("분석적이고 독립적인 사고를 가진 당신은 진정한 계획자!");
System.out.println("미래를 설계하는 당신의 통찰력이 놀라워요.");
}
case "ESFP" -> {
System.out.println("🎉 ESFP: 연예인형");
System.out.println("항상 즐거움을 추구하고, 사람들과 잘 어울리는 분위기 메이커!");
System.out.println("당신의 웃음은 모두에게 긍정의 에너지입니다.");
}
case "INFJ" -> {
System.out.println("🌌 INFJ: 옹호자형");
System.out.println("깊은 직관과 신념을 가진 당신, 조용하지만 강한 리더입니다.");
System.out.println("세상을 바꾸는 건 당신 같은 사람이에요.");
}
default -> {
System.out.println("😕 아직 해당 MBTI 정보가 없어요.");
System.out.println("정확히 4자리 영어로 입력해 주세요. 예: INFP, ENTP");
}
}
sc.close();
}
}
당신의 MBTI를 입력하세요 (예: INFP, ENFP, ISTJ 등): INFP
🌱 INFP: 이상주의자형
조용하고 친절하며, 내면의 세계가 풍부해요.
자신만의 가치관을 가지고 살아가는 당신, 멋져요!
package lesson02;
import java.util.Scanner;
public class Ex08_SwitchYield {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("과일 이름을 영어로 입력하세요 (apple, banana, grape): ");
String fruit = sc.nextLine().toLowerCase();
// switch 표현식 + yield 사용
String result = switch (fruit) {
case "apple" -> {
System.out.println("🍎 사과를 선택하셨습니다!");
yield "사과";
}
case "banana" -> {
System.out.println("🍌 바나나는 에너지가 넘치죠!");
yield "바나나";
}
case "grape" -> {
System.out.println("🍇 포도는 여름 제철 과일이에요.");
yield "포도";
}
default -> {
System.out.println("😕 등록되지 않은 과일입니다.");
yield "알 수 없음";
}
};
System.out.println("한글 이름: " + result);
sc.close();
}
}
과일 이름을 영어로 입력하세요 (apple, banana, grape): apple
🍎 사과를 선택하셨습니다!
한글 이름: 사과