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
'Java' 카테고리의 다른 글
Java, 반복문 for문 / while문 / do-while문 / 다중 for문 (+ 구구단 3단씩 출력) / break, continue (0) | 2024.07.08 |
---|---|
Java, System.in.read(); 사용자 입력 명령어 (0) | 2024.07.08 |
Java, 연산자(최우선, 산술, 관계, 논리, 조건, 증감, 대입, 부정, 비트) (0) | 2024.07.08 |
Java, String.format() 소수점 자릿수 변경 / new DecimalFormat().format() 천단위마다 콤마(,) (0) | 2024.07.05 |
Java의 특징, 상수, 문자, 문자열, ASCII코드(대문자 ↔ 소문자, 숫자 → 문자) (0) | 2024.07.05 |