반응형

 

조건문

 

: 조건 식에 따라 다른 실행문을 실행하기 위해 사용된다.

ex) if 문 , if - else 문, if - else if - else 문, switch 문

 

 

 

if 문

 

: 조건식 결과에 따라 실행 여부가 결정된다.

 

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 - else 문

 

: 조건식이 여러개인 if 문

 

if - else if - else 문 로직

 

사용법은 아래와 같다.

 

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 문 로직

 

사용법은 아래와 같다.

 

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;
		}
	}
}

 

결과 화면1

 

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;
		}
	}
}

 

결과 화면2

 

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;
		}
	}
}

 

결과 화면3

 

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 + " 학점");
	}
}

 

결과 화면4

 

반응형

'자바' 카테고리의 다른 글

[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