반응형
조건문
: 조건 식에 따라 다른 실행문을 실행하기 위해 사용된다.
ex) if 문 , if - else 문, if - else if - else 문, switch 문
if 문
: 조건식 결과에 따라 실행 여부가 결정된다.
사용법은 아래와 같다.
if (조건식) {
실행문;
실행문;
}
package kr.or.ddit.study04;
import java.util.Scanner;
public class IfExample2 {
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
IfExample2 obj = new IfExample2();
obj.method1();
}
public void method1() {
// 점수를 입력 받고 학점을 출력 하시오.
// 90 이상 A, 80이상 B, 70이상 C, 60이상 D, 60 미만 F
int score = sc.nextInt();
if(score >= 90) {
System.out.println("A 학점");
}
if(score >= 80) {
System.out.println("B 학점");
}
if(score >= 70) {
System.out.println("C 학점");
}
if(score >= 60) {
System.out.println("D 학점");
}
if(score < 60) {
System.out.println("F 학점");
}
}
}
if - else 문
: 조건식 결과에 따라 실행 여부가 선택된다.
사용법은 아래와 같다.
if (조건식) {
실행문;
실행문;
}
else if (조건식) {
실행문;
실행문;
}
else {
실행문;
실행문;
}
if - else if - else 문
: 조건식이 여러개인 if 문
사용법은 아래와 같다.
if (조건식) {
실행문;
실행문;
}
else if (조건식) {
실행문;
실행문;
}
else if (조건식) {
실행문;
실행문;
}
else {
실행문;
실행문;
}
package kr.or.ddit.study04;
import java.util.Scanner;
public class IfExample2 {
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
IfExample2 obj = new IfExample2();
// if문 예시와 method2, method3 셋 다 같은 방법
obj.method2();
obj.method3();
obj.method4();
}
public void method2() {
// 점수를 입력 받고 학점을 출력 하시오.
// 90 이상 A, 80이상 B, 70이상 C, 60이상 D, 60 미만 F
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("F 학점");
}
}
public void method3() {
// 점수를 입력 받고 학점을 출력 하시오.
// 90 이상 A, 80이상 B, 70이상 C, 60이상 D, 60 미만 F
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("F 학점");
}
public void method4() {
// 점수를 입력 받고 학점을 출력 하시오.
// 90 이상 A, 80이상 B, 70이상 C, 60이상 D, 60 미만 F
// 0 ~ 3점 -
// 4 ~ 6 0
// 7 ~ 9 +
String grade = "";
int score = sc.nextInt();
int end = score % 10;
if(score == 100) grade = "A+";
else if(score >= 90) grade = "A";
else if(score >=80) grade = "B";
else if(score >=70) grade = "C";
else if(score >=60) grade = "D";
else grade = "F";
if(score != 100 && score >= 60) { // if문 안에 if문을 쓸 수 있다.
if(0 <= end && end <= 3) grade += "-";
if(4 <= end && end <= 6) grade += "0";
if(7 <= end && end <= 9) grade += "+";
}
System.out.println(grade + " 학점");
}
}
switch 문
: 변수가 어떤 값을 갖는지에 따라 실행문을 선택한다.
if 문이 3개 이상 사용될 때는 switch문이 더 효과적이다.
사용법은 아래와 같다.
switch (변수) {
case 값1:
실행문;
break;
case 값2:
실행문;
break;
default:
실행문;
break;
}
package kr.or.ddit.study04;
import java.util.Scanner;
public class SwitchExample {
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
SwitchExample obj = new SwitchExample();
obj.method1();
}
public void method1() {
int sel = 2;
switch (sel) {
case 1:
System.out.println("1번");
break;
case 2:
System.out.println("2번");
break; // break을 걸지 않으면 아래 문장이 실행된다.
default:
System.out.println("1, 2번 외의 값");
break;
}
}
}
package kr.or.ddit.study04;
import java.util.Scanner;
public class SwitchExample {
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
SwitchExample obj = new SwitchExample();
obj.method2();
}
public void method2() {
String nation = "kor";
switch (nation) {
case "kor": // nation이 String 이기에 case 들어오는 것도 String 이어야 함.
System.out.println("한국");
break;
case "eng":
System.out.println("영국");
break;
case "jpn":
System.out.println("일본");
break;
default:
System.out.println("잘못 입력하셨습니다.");
break;
}
}
}
package kr.or.ddit.study04;
import java.util.Scanner;
public class SwitchExample {
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
SwitchExample obj = new SwitchExample();
obj.method3();
}
public void method3() {
// 끝자리가 31일인 달
// 끝자리가 30일인 달
// 끝자리가 28, 29인 달.
int month = 2;
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
System.out.println("31일로 끝납니다.");
break;
case 4: case 6: case 9: case 11:
System.out.println("30일로 끝납니다.");
break;
case 2:
System.out.println("28, 29일로 끝납니다.");
break; // break 문이 없을 시 case 2을 탈 시 잘못 입력 되었습니다 까지 같이 출력됨
default:
System.out.println("잘못 입력 되었습니다.");
break;
}
}
}
package kr.or.ddit.study04;
import java.util.Scanner;
public class SwitchExample {
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
SwitchExample obj = new SwitchExample();
obj.method4();
}
public void method4() {
// 점수를 입력 받고 학점을 출력 하시오.
// 90 이상 A, 80이상 B, 70이상 C, 60이상 D, 60 미만 F
// 0 ~ 3점 -
// 4 ~ 6 0
// 7 ~ 9 +
String grade = "";
int score = sc.nextInt();
int fir = score / 10; // 10의 자리
int end = score % 10; // 1의 자리
switch (fir) {
case 10:
grade = "A+";
break;
case 9:
grade = "A";
switch (end) {
case 7: case 8: case 9:
grade += "+";
break;
case 6: case 5: case 4:
grade += "0";
break;
case 3: case 2: case 1:
grade += "-";
break;
default:
break;
}
break;
case 8:
grade = "B";
switch (end) {
case 7: case 8: case 9:
grade += "+";
break;
case 6: case 5: case 4:
grade += "0";
break;
case 3: case 2: case 1:
grade += "-";
break;
default:
break;
}
break;
case 7:
grade = "C";
switch (end) {
case 7: case 8: case 9:
grade += "+";
break;
case 6: case 5: case 4:
grade += "0";
break;
case 3: case 2: case 1:
grade += "-";
break;
default:
break;
}
break;
case 6:
grade = "D";
switch (end) {
case 7: case 8: case 9:
grade += "+";
break;
case 6: case 5: case 4:
grade += "0";
break;
case 3: case 2: case 1:
grade += "-";
break;
default:
break;
}
break;
default:
grade = "F";
break;
}
System.out.println(grade + " 학점");
}
}
반응형
'자바' 카테고리의 다른 글
[Java 초급] 7장 반복문 for문 (0) | 2023.12.08 |
---|---|
[Java 초급] 6.5장 테스트 (0) | 2023.12.08 |
[Java 초급] 5.5.2장 테스트2 (2) | 2023.12.07 |
[Java 초급] 5.5.1장 테스트 (0) | 2023.12.06 |
[Java 초급] 5장 단항, 이항, 삼항 연산자 (0) | 2023.12.06 |