[JAVA]조건문
- 조건문(137p.)
- 단순 IF문: if (조건식) {실행문장}
//예제1. 정수를 입력받아 20보다 크거나 같으면
//"성인입니다."출력하기
Scanner scan = new Scanner(System.in);
System.out.print("나이 입력: ");
int age = scan.nextInt();
if (age >=20) {
System.out.println("성인입니다."); }
- IF-ELSE문: if (조건식) {실행문장1} else{실행문장2}
//예제2.정수를 입력받아 홀수인지 짝수인지 판별하세요.
Scanner scan = new Scanner(System.in);
System.out.print("정수 입력: ");
int num = scan.nextInt();
if (num%2==0) {
System.out.println("짝수입니다!");
} else {
System.out.println("홀수입니다!");
}
- 다중IF문 : 다수의 조건문을 차례대로 실행하여 조건을 만족하는 실행문장 출력
if (조건식 1) { 실행문장 1;} else if (조건식 2) {실행문장2;} else if (조건식 3) {실행문장3;}
(선택 ) else {실행문장}--조건을 모두 만족하지 않을 떄 실행
조건을 2개 이상 충족할 경우 가장 먼저 만족하는 조건의 실행문장만 출력됨
그 다음 조건의 실행문장은 검사하지 않음
-else if, else는 단독사용할 수 없음
-else 조건입력하지 않고 실행문장만 작성한다.
-else if는 if조건이 거짓일때만 실행
[예제3]
Scanner scan = new Scanner(System.in);
System.out.print("점수를 입력하세요: ");
int totalScore = scan.nextInt();
if (totalScore >= 90) {
System.out.println("A학점입니다.");
} else if (totalScore >= 80) {
System.out.println("B학점입니다.");
} else if (totalScore >= 70) {
System.out.println("C학점입니다.");
} else if (totalScore < 70) {
System.out.println("D학점입니다.");
}
}
*~이상, ~이하의 조건을 작성하려면 AND연산자(&&)를 활용하여 작성한다.
예)totalScore>=80 && totalScore<90
- SWITCH 문
switch(식) { //값이 나오는 식만 가능. 연산식, 변수(O)/ 비교하는 식(x)
case 값1: 실행문장 1
break;
case 값2: 실행문장 2
break;
default: 실행문장 3 //조건을 벗어난 나머지 경우의 수
break;}
예)num1+num2=2일 때 실행문장 출력
* case 뒤에 오는 실행문장의 개수는 제한이 없다.(break문이 나오기 전까지 모두 실행된다.)
* 3개의 case 모두 같은 실행문장을 출력하고자 할 때 각각 실행문장을 뒤에 써주지 않고
case 여러 개 쓰고 실행문장 1 출력하는 방식도 가능
예) case 값1 : case 값2: case 값3:
실행문장1
[예제4]
// 계절 알려주기
Scanner scan = new Scanner(System.in);
System.out.print("월 입력: ");
int month = scan.nextInt();
switch (month) {
//OR은 ,로 표현 AND는 X(값은 중복불가)
case 12, 1, 2 :
System.out.println(month+"는 겨울입니다.");
break;
case 3,4,5:
System.out.println(month+ "는 봄입니다.");
break;
case 6,7,8:
System.out.println(month+"는 여름입니다.");
break;
case 9,10,11 :
System.out.println(month+"는 가을입니다.");
break;
}
[심화]자판기 프로그램
Scanner scan = new Scanner(System.in);
System.out.println("금액을 입력하세요");
int money = scan.nextInt();
System.out.println("메뉴를 고르세요");
System.out.print("1. 콜라(800원) 2. 생수(500원) 3. 비타민워터(1500원)>>");
int menu = scan.nextInt();
switch (menu) {
case 1:
if(money<800) {
System.out.println("돈이 부족합니다.");
}
System.out.println(money<800 ? "잔돈: " + money +"원": "잔돈:" +(money-800)+"원" );
//천원, 오백원, 백원 개수 출력하기
int change1 = (money-800);
int th1 = change1/1000;
int fi1 = (change1-(th1*1000))/500;
int te1 = (change1-(th1*1000)-(fi1*500))/100;
System.out.println("천원: "+ th1 +"개");
System.out.println("오백원:"+fi1+"개" );
System.out.println("백원: " +te1 +"개" );
break;
case 2:
if(money<500)
System.out.println("돈이 부족합니다.");
System.out.println(money<500 ? "잔돈: " +money +"원": "잔돈:" +(money-500)+"원");
//천 원, 오백원, 백원 개수
int change2 = (money-500);
int th2 = change2/1000;
int fi2 = (change2-(th2*1000))/500;
int te2 = (change2-(th2*1000)-(fi2*500))/100;
System.out.println("천원: "+ th2 +"개");
System.out.println("오백원:"+fi2+"개" );
System.out.println("백원: " +te2 +"개" );
break;
case 3:
if(money<1500)
System.out.println("돈이 부족합니다.");
System.out.println(money<1500 ? "잔돈: " +money +"원": "잔돈: " + (money-1500)+ "원");
//천원, 오백원, 백원 개수 구하기
int change3 = (money-1500);
int th3 = change3/1000;
int fi3 = (change3-(th3*1000))/500;
int te3 = (change3-(th3*1000)-(fi3*500))/100;
System.out.println("천원: "+ th3 +"개");
System.out.println("오백원:"+fi3+"개" );
System.out.println("백원: " +te3 +"개" );
break;
default :
System.out.println("없는 메뉴입니다.");
break;
}
[단축키]
ctrl+shift+F 코드 정렬
ctrl+ / 주석처리
'JAVA' 카테고리의 다른 글
[JAVA]6. 중첩 for문 (0) | 2023.06.05 |
---|---|
[JAVA]5. 반복문(FOR문) (0) | 2023.06.01 |
[JAVA]4. 반복문(while문) (0) | 2023.05.31 |
[JAVA]2. 연산자의 종류 (0) | 2023.05.29 |
[JAVA]1.입출력 (0) | 2023.05.28 |