본문 바로가기
JavaStudy

c.control

by nyamnmm 2024. 7. 4.
if

 

 

조건문의 정의
  • 제어문 중 하나로, 프로그램의 진행 중 어떤 코드를 선택적으로 실행시킬 때 사용한다.
  • "조건식"을 통해 참 또는 거짓을 판단하여, 참일 경우 그에 해당하는 코드를 실행한다.
  • 조건식의 결과는 true 또는 false 로 나오는 논리형이어야 한다.

 

if
  • if문의 가장 기본적인 형태이다.
  • [표현법]
    if(조건식) {
     …실행문;
    }
  • 조건식이 true일 경우 : if { … } 중괄호 블럭 안의 코드를 실행한다.
  • 조건식이 false일 경우 : if { … }  중괄호 블럭 안의 코드를 무시하고 넘어간다.
    ▷ if(a <= 10) {
       b = 22;
      }

 

else
  • if문의 조건식이 false일 경우 실행한다.
  • [표현법]
    if(조건식) {
     …참일 경우 실행문;
    }
    else {
     …거짓일 경우 실행문;
    }
  • 조건식이 true일 경우 : if { … } 중괄호 블럭 안의 코드를 실행한다. else { … }  중괄호 블럭 안의 코드는 무시한다.
  • 조건식이 false일 경우 : if { … } 중괄호 블럭 안의 코드를 무시하고, else { … }  중괄호 블럭 안의 코드를 실행한다.
    ▷ if(a <= 10) {
       a <= 10;
      }
      else {
       b = 5;
      }

 

if ~ else if
    • 판별해야하는 조건이 여러개일때 사용한다.
    • [표현법]
      if(조건식1) {
       …조건식1이 참일 경우 실행문;
      }
      else if(조건식2) {
       …조건식2가 참일 경우 실행문;
      }
      else {
       …전부 거짓일 경우 실행문;
      }
    • 조건식이 true가 나올 때가지 순차적으로 판별한다. true가 나온 시점에서 뒤의 코드는 무시하고 판별하지 않는다.
      (조건식1과 조건식2 둘 다 true가 나온다해도 조건식1의 코드만이 실행된다.)
    • 모든 조건식이 false가 나오면, 다른 코드는 무시하고 else { … }  중괄호 블럭 안의 코드를 실행한다.
      (※ else if문을 사용할 경우 반드시 마지막에 else문이 있어야한다.)
      ▷ if(n == 0) {
         System.out.println("0이다.");
        }
        else if(n % 2 == ) {
          System.out.println("짝수다.");
        }

        else {
         System.out.println("홀수다.");
        }

 

package c.control;

import java.util.Scanner;

public class If {
	public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
        
    	// if
        System.out.print("정수 입력 : ");
        int num = sc.nextInt();
        
        if(num > 0) {
        	System.out.println("입력값은 양수이다.");
        }
        if(num == 0) {
        	System.out.println("입력값은 0이다.");
        }
        if(num < 0) {
        	System.out.println("입력값은 음수이다.");
        }
        
        // else
        System.out.println("\n===== 홀짝 판별 =====");
        System.out.print("숫자 입력 : ");
        int num2 = sc.nextInt();
        
        if(num2 % 2 == 0) {
        	System.out.println("짝!");
        }
        else {
        	System.out.println("홀!");
        }
        
        // else if
        System.out.println("\n===== 대소 판별 =====");
        System.out.print("첫 번째 숫자 입력 : ");
        int a = sc.nextInt();
        System.out.print("두 번째 숫자 입력 : ");
        int b = sc.nextInt();
        
        if(a > b) {
        	System.out.println(a + "이(가) " + b + "보다 크다.");
        }
        else if (a < b) {
        	System.out.println(a + "이(가) " + b + "보다 작다.");
        }
        else {
        	System.out.println(a + "와(과) " + b + "은(는) 같다.");
        }
    }
}

 


 

switch

 

 

switch
  • if문과 동일한 조건문이나, 차이점이 존재한다.
  • if문과는 다르게 조건식을 자유롭게 기술할 수 없으며, 동등비교로만 수행된다.
  • 실행할 구문만 실행하고 자동으로 빠져나올 수 없다.
    (직접 빠져나오도록 설정이 필요하다.)
  • [표현식]
    switch (비교대상) {
    case 값1 : 실행코드;
    case 값2 : 실행코드;
    case 값3 : 실행코드;
    default : 위의 값들이 모두 일치하지 않았을 때 실행하는 코드;
    }
  • 비교대상과 switch case의 값이 같은지(==) 판별하여 true일 경우 코드를 실행한다.
  • if문과는 다르게 자동으로 빠져나오지 않으므로, 따로 빠져나올 수 있게끔 break문을 사용한다.
    ▷ switch (grade) {
      case 'A' :
       System.out.println("학점 : A");
       break;
      case 'B' :
       System.out.println("학점 : B");
       break;
      case 'C' :
       System.out.println("학점 : C");
       break;
      case 'D' :
       System.out.println("학점 : D");
       break;
      default :
       System.out.println("학점 : F");
    }

 

package c.control;

import java.util.Scanner;

public class Switch {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        
    	// switch문 < 음료수를 주문하고 옵션 추가하기>
        String menu, size, option;
        int price = 0;
        
        System.out.println("===== 메뉴판 =====\n");
        System.out.println("1. 아메리카노\t(2000)");
        System.out.println("2. 라떼\t\t(3300)");
        System.out.println("3. 프라푸치노\t(4000)");
        System.out.println("4. 버블티\t(4500)");
        System.out.print("\n주문하실 음료를 선택해주세요 (숫자 입력) : ");
        menu = sc.next();
        
        switch (menu) {
        case "1" :
        	menu = "아메리카노";
        	price = 2000;
            break;
        case "2" :
        	menu = "라떼";
        	price = 3300;
            break;
        case "3" :
        	menu = "프라푸치노";
        	price = 4000;
            break;
        case "4" :
        	menu = "버블티";
        	price = 4500;
            break;
        default :
        	System.out.println("\n시크릿 레시피 발견!\n유니콘 프라페를 선택하셨습니다!");
            price = 5000;
        }
        
        System.out.println("\n===== 사이즈 선택 =====");
        System.out.println("[ 톨 -> 그란데 사이즈업 무료 이벤트 진행 중 (※자동적용) ]\n");
        System.out.println("1. 톨\t\t(+ 0)");
        System.out.println("2. 그란데\t(+ 0)");
        System.out.println("3. 벤티\t\t(+ 1500)");
        System.out.println("3. 트란타\t(+ 2000)");
        System.out.print("옵션 추가 (숫자 입력) : ");
        size = sc.next();
        
        switch (size) {
        case "3" :
        	size = "벤티";
        	price += 1500;
            break;
        case "4" :
        	size = "트란타";
        	price += 2500;
            break;
        case "1" :
        case "2" :
        default :
        	size = "그란데";
        }
        
		System.out.println("\n===== 옵션 추가 =====\n");
        System.out.println("0. 선택안함");
        System.out.println("1. 샷 추가\t(+ 500)");
        System.out.println("2. 휘핑크림 추가\t(+ 700)");
        System.out.println("3. 펄 추가\t(+ 800)");
        System.out.print("옵션 추가 (숫자 입력) : ");
        option = sc.next();
        
        switch (option) {
        case "1" :
        	option = "샷 추가";
            price += 500;
            break;
        case "2" :
        	option = "휘핑크림 추가";
            price += 700;
            break;
        case "3" :
        	option = "펄 추가";
            price += 800;
            break;
        default :
        	option = "X";
        }
        
       System.out.println("\n===== 영수증 =====\n");
       System.out.println("주문하신 음료 : " + menu);
       System.out.println("사이즈 : " + size);
       System.out.println("옵션 : " + option);
       System.out.println("결제 금액 : " + price + "원");
    }
}

 

'JavaStudy' 카테고리의 다른 글

e.array  (0) 2024.07.08
d.loop  (1) 2024.07.05
b.operator  (0) 2024.07.03
a.basic  (1) 2024.07.01