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 |