๐Ÿ—„๏ธ Backend/Java

์ž๋ฐ”(Java) - ์ œ์–ด๋ฌธ (2)์กฐ๊ฑด๋ฌธ(switch, while) + ์‹ค์Šต์˜ˆ์ œ

kongmi 2023. 1. 4. 19:11

switch๋ฌธ

์Šค์œ„์น˜๋ฌธ์€ ์กฐ๊ฑด๋ฌธ์ด๋ฉฐ, ์Šค์œ„์น˜์—๋Š” ์กฐ๊ฑด์‹์€ ์˜ฌ ์ˆ˜ ์—†๊ณ , ์กฐ๊ฑด์— ๋Œ€ํ•œ ๋ณ€์ˆ˜๋งŒ ์˜ฌ ์ˆ˜ ์žˆ์Œ.
๋ณ€์ˆ˜๋Š” ์ •์ˆ˜, ๋ฌธ์ž, ๋ฌธ์ž์—ด๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ. ์Šค์œ„์น˜์˜ ๊ฐ ์ผ€์ด์Šค๋ฅผ ๋๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ break๋ฌธ์ด ํ•„์š”ํ•จ.
ํ•ด๋‹นํ•˜๋Š” ์ผ€์ด์Šค๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•ด default๋ฌธ์ด ํ•„์š”ํ•จ. (else์™€ ๋น„์Šทํ•จ)

์‹ค์Šต ์˜ˆ์ œ 1.

package ์Šค์œ„์น˜๋ฐ˜๋ณต๋ฌธ์—ฐ์Šต;

import java.util.Scanner;

public class SwitchEx1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("๊ณ„์ ˆ์„ ์ž…๋ ฅ ํ•˜์„ธ์š”. : ");
        String season = sc.next();

        switch(season) {
            case "๋ด„" :
            case "spring" :
            case "SPRING" :
                System.out.println("๋”ฐ๋“ฏํ•œ ๋ด„์ด ์™”์–ด์š”.");
                break;
            case "์—ฌ๋ฆ„" :
            case "summer" :
            case "SUMMER" :
                System.out.println("๋ฌด๋”์šด ์—ฌ๋ฆ„์ด ์™”์–ด์š”.");
                break;
            case "๊ฐ€์„" :
            case "fall" :
            case "FALL" :
                System.out.println("์“ธ์“ธํ•œ ๊ฐ€์„์ด ์™”์–ด์š”.");
                break;
            case "๊ฒจ์šธ" :
            case "winter" :
            case "WINTER" :
                System.out.println("์ถ”์šด ๊ฒจ์šธ์ด ์™”์–ด์š”.");
                break;
            default: System.out.println("๊ณ„์ ˆ์„ ์ž˜๋ชป ์ž…๋ ฅํ•˜์…จ์Šต๋‹ˆ๋‹ค.");
        }
    }
}

์‹ค์Šต ์˜ˆ์ œ 2.

์˜๋ฌธ ๋Œ€๋ฌธ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ 'A'์ด๋ฉด "ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค.", 'B'์ด๋ฉด "์ข‹์Šต๋‹ˆ๋‹ค.", 'C'์ด๋ฉด "๋ณดํ†ต์ž…๋‹ˆ๋‹ค.", 'D'์ด๋ฉด "๋…ธ๋ ฅํ•˜์„ธ์š”." ๊ทธ ์ด์™ธ ๋ฌธ์ž๋Š” "์ž˜๋ชป ์ž…๋ ฅํ•˜์…จ์Šต๋‹ˆ๋‹ค."๋ผ๊ณ  ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ
package ์Šค์œ„์น˜๋ฐ˜๋ณต๋ฌธ์—ฐ์Šต2;
import java.util.Scanner;

public class SwitchEx2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("์˜๋ฌธ ๋Œ€๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”. : ");
        char capitalLetter = sc.next().charAt(0);

        switch(capitalLetter) {
            case 'A' :
                    System.out.println("ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค.");
            break;
            case 'B' :
                    System.out.println("์ข‹์Šต๋‹ˆ๋‹ค.");
            break;
            case 'C' :
                    System.out.println("๋ณดํ†ต์ž…๋‹ˆ๋‹ค.");
            break;
            case 'D' :
                    System.out.println("๋…ธ๋ ฅํ•˜์„ธ์š”.");
            break;
            default: System.out.println("์ž˜๋ชป ์ž…๋ ฅํ•˜์…จ์Šต๋‹ˆ๋‹ค.");
        }
    }
}

์‹ค์Šต ์˜ˆ์ œ 3.

๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ
package ์Šค์œ„์น˜๋ฌธ๊ณ„์‚ฐ๊ธฐ0104;
import java.util.Scanner;

public class SwitchCalc {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("๊ณ„์‚ฐ์‹์„ ์ž…๋ ฅํ•˜์„ธ์š”. : ");
        int x = sc.nextInt(); // ์—ฐ์‚ฐ์ž์˜ ์ขŒ๋ณ€๊ฐ’์„ ์ž…๋ ฅ ๋ฐ›์Œ
        char op = sc.next().charAt(0); // ๋ฌธ์ž์—ด์—์„œ ์ฒซ๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ์ถ”์ถœ
        int y = sc.nextInt(); // ์—ฐ์‚ฐ์ž์˜ ์šฐ๋ณ€๊ฐ’์„ ์ž…๋ ฅ ๋ฐ›์Œ
        switch(op) {
            case '+' :
                System.out.println("๋ง์…ˆ : " + (x+y));
                break;
            case '-' :
                System.out.println("๋บ„์…ˆ : " + (x-y));
                break;
            case '*' :
                System.out.println("๊ณฑ์…ˆ : " + (x*y));
            case '/' :
                System.out.println("๋‚˜๋ˆ—์…ˆ : " + (x/y));
                break;
            default: System.out.println("์ž˜๋ชป ์ž…๋ ฅํ•˜์…จ์Šต๋‹ˆ๋‹ค.");
        }
    }
}

์ฐธ๊ณ ) Scanner๋Š” ํ•œ๋ฒˆ๋งŒ ์ž…๋ ฅ ๋ฐ›์•„๋„ ์—ฌ๋Ÿฌ๊ฐœ ๊ฐ’ ๋‹ด์„ ์ˆ˜ ์žˆ์Œ.(๊ณต๋ฐฑ ๊ธฐ์ค€)

์ฆ‰, nextLine(); ๋นผ๊ณ  ๋ชจ๋‘ ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ ์ €์žฅ๋จ.

while๋ฌธ

์ฃผ์–ด์ง„ ์กฐ๊ฑด์ด ์ฐธ์ธ ๋™์•ˆ ์ˆ˜ํ–‰๋˜๋Š” ๋ฐ˜๋ณต๋ฌธ ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž์—๊ฒŒ ์ž…๋ ฅ์„ ๋ฐ›์„ ๋•Œ ์ž˜๋ชป ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ ๋ฌดํ•œ๋ฃจํ”„๋กœ ๋Œ๋ ค์•ผ ํ•จ. ๊ทธ๋Ÿด ๋•Œ๋Š” while
๋ฐ˜๋ณตํ•ด์•ผ ํ•˜๋Š” ๋ฒ”์œ„๊ฐ€ ๋ช…ํ™•ํ•˜๋ฉด for๋ฌธ์œผ๋กœ ์ž‘์„ฑ
public class WhileEx1 {
    public static void main(String[] args) {
        int treeHit = 0;

        while(true) {
            treeHit++;
            System.out.println("๋‚˜๋ฌด๋ฅผ " + treeHit + "๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.");
            if(treeHit == 10) {
                System.out.println("๋‚˜๋ฌด๊ฐ€ ์“ฐ๋Ÿฌ์ง‘๋‹ˆ๋‹ค.");
                break;
            }
        }
    }
}
import java.util.Scanner;

public class ValidCheck {
    public static void main(String[] args) {
        int age;
        Scanner sc = new Scanner(System.in);

        while(true) {
            System.out.print("๋‚˜์ด๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”. : ");
            age = sc.nextInt();
            if(age > 0 && age < 200) break;
            else System.out.println("์ž˜๋ชป ์ž…๋ ฅํ•˜์˜€์Šต๋‹ˆ๋‹ค.");
        } System.out.println("๋‹น์‹ ์˜ ๋‚˜์ด๋Š” " + age + " ์ž…๋‹ˆ๋‹ค.");
    }
}

์‹ค์Šต ์˜ˆ์ œ 4.

์„ธ์ž๋ฆฌ์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ ๊ฐ€์žฅ ํฐ ์ˆ˜ ์ถœ๋ ฅ
package ์ตœ๋Œ€๊ฐ’์ฐพ๊ธฐ;
import java.util.Scanner;

public class MaxValue {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("์„ธ์ž๋ฆฌ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”. : ");
        int value = sc.nextInt();
        int a = value / 100;
        int b = (value % 100) / 10;
        int c = value % 10;

        if(a>b){
            if(a>c)System.out.println(a);
            else System.out.println(c);
        } else {
            if(b>c)System.out.println(b);
            else System.out.println(c);
        }
    }
}