Java

Java, 조건문 If문 / Switch문 형

greenyellow-s 2024. 7. 8. 14:39

2024-7-5 네이버 클라우드

 

조건문 종류

 

1. If
2. Switch


If

 

[형식]
1.

if (조건) ;

2. 참 거짓
if (조건) { 
;
} else 거짓;

3. 다중 If
if (조건) {
;
} else if (조건) {
;
} else {
거짓;
}

 

 [문제] 성적 계산
 이름이 L(name)이고 국어점수 85(kor), 영어점수 90(eng), 수학점수 100(math)일때 
 총점(tot), 평균(avg), 학점(grade) 을 구하시오
   
 [조건]
 총점 = 국어 + 영어 + 수학
 평균 = 총점 / 과목수
 평균의 소수이하 3째자리까지 출력
 학점 평균으로 구하기

package if_;

import java.util.Scanner;

public class SungJuk {

	public static void main(String[] args) {
		
		int kor=85;
		int eng=90;
		int math=100;
		String name="L";
		String grade;
		
		int tot=kor + eng + math;
		double avg = ((double)tot)/3;
		
		if(avg>=90)
			grade="A";
		else if(avg>=80)
			grade="B";
		else if(avg>=70)
			grade="C";
		else if(avg>=60)
			grade="D";
		else
			grade="F";

		
		System.out.println("*** "+name+" 성적표 ***");
		System.out.println("국어 영어 수학 총점 평균 학점");
		System.out.println(kor+"\t"+eng+"\t"+math+"\t"+tot+"\t"+ String.format("%.3f",avg)+"\t"+ grade);
		

	}

}

[실행결과]

*** L 성적표 ***

국어 영어 수학 총점 평균 학점

85     90    100  275 91.667 A

 


Switch

 

[형식]
switch(변수 또는 문자열 또는 식)
case 값 1: break;
case 값 2: break;
default

 

Switch는 실수형 변수를 사용할 수 없습니다.

따라서, 실수형 변수를 정수형으로 변환해서 사용해야 합니다 !

 

같은 실수형끼리는 반올림되지만 

정수로 강제 변환시키면 반올림되지 않고 정수로 변환됩니다.

double a= 2.8

switch((int)a) // ==> 2 반올림 안됨
String.format("%.0f",a); // 3 ==> 반올림됨

 

 

[문제] 성적 계산
 이름이 L(name)이고 국어점수 85(kor), 영어점수 90(eng), 수학점수 100(math)일때 
 총점(tot), 평균(avg), 학점(grade) 을 구하시오
   
 [조건]
 총점 = 국어 + 영어 + 수학
 평균 = 총점 / 과목수
 평균의 소수이하 3째자리까지 출력
 학점 평균으로 구하기

package switch_;

import java.util.Scanner;

public class SungJuk {

	public static void main(String[] args) {
		
		int kor=85;
		int eng=90;
		int math=100;
		String name="L";
		String grade;
		
		int tot=kor + eng + math;
		double avg = ((double)tot)/3;
		
		switch((int)(avg/10)) {
		case 9 :
			grade ="A";
			break;
		case 8 :
			grade ="B";
			break;
		case 7 :
			grade ="C";
			break;
		case 6 :
			grade ="D";
			break;
		default:
			grade="F";
			break;	
		}
		
		System.out.println("*** "+name+" 성적표 ***");
		System.out.println("국어 영어 수학 총점 평균 학점");
		System.out.println(kor+"\t"+eng+"\t"+math+"\t"+tot+"\t"+ String.format("%.3f",avg)+"\t"+ grade);
		

	}

}

[실행결과]

*** L 성적표 ***

국어 영어 수학 총점 평균 학점

85     90    100  275 91.667 A