리뷰
if ~ else 구문을 사용할 때 주의사항 두 가지
1. else if 로 구문을 끝맺으려면 사전에 변수를 초기화 시켜야한다.
2. else if 보다는 else 로 끝맺는 것이 좋다.
switch ~ case
다중 선택문이라 하며, switch 문 다음의 수식 값에 따라 실행 순서를 여러 방향으로 분기할 때 사용하는 문장이다.
형식 및 구조
switch(수식)
{
case 상수1 : 문장1; [break;]
case 상수2 : 문장2; [break;]
:
[default : 문장n+1; [break;]]
} //[ ] 안의 내용은 생략 가능하다.
switch 문의 『수식』과 case 의 『상수』는
byte, short, int, long 형이어야 한다. (JDK 1.5 이전!)
현재는 String(JDK 1.7 이후!)으로도 case 에 사용할 수 있다.
case 문 뒤에 『break;』가 없는 형태인 경우
다음 case 문장을 계속해서(이어서) 수행하게 된다. (→ 기본 모델)
break
멈춘다. 그리고 빠져나간다. (break를 감싸고 있는 가까운 반복문을 빠져나간다.)
return
1. 값을 반환
2. 메소드의 종료
/*=========================================
■■■ 실행 흐름의 컨트롤 (제어문) ■■■
- 조건문(분기문)
- switch 문 실습
=========================================*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test039
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String name;
int kor, eng, mat, avg;
char grade;
System.out.print("이름 입력 : ");
name = br.readLine();
System.out.print("국어점수 입력 : ");
kor = Integer.parseInt(br.readLine());
System.out.print("영어점수 입력 : ");
eng = Integer.parseInt(br.readLine());
System.out.print("수학점수 입력 : ");
mat = Integer.parseInt(br.readLine());
avg = (kor+eng+mat) / 3;
grade = 'F';
/*
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';
*/
switch(avg/10)
{
case 10: case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
//default: grade = 'F';
}
System.out.println();
System.out.printf("당신의 이름은 %s 입니다.\n", name);
System.out.printf("총점은 %d, 평균은 %d입니다.\n", (kor+eng+mat), avg);
System.out.printf("등급은 %c 입니다.\n", grade);
}
}
// 실행 결과
/*
이름 입력 : 허수민
국어점수 입력 : 90
영어점수 입력 : 80
수학점수 입력 : 70
당신의 이름은 허수민 입니다.
총점은 240, 평균은 80입니다.
등급은 B 입니다.
계속하려면 아무 키나 누르십시오 . . .
*/
'자바 풀스택 과정 수업 정리 > 자바' 카테고리의 다른 글
자바 8 (2020.08.12) : 메소드, 변수의 스코프, 지역변수, 전역변수, 재귀함수 (0) | 2020.08.18 |
---|---|
자바 7 (2020.08.11) : while, do~while, for, break (0) | 2020.08.13 |
자바 5 (2020.08.07) : 조건연산자, if ~ else if ~ else (0) | 2020.08.11 |
자바 4 (2020.08.06) : IO에 관해(BufferedReader, Scanner) (0) | 2020.08.06 |
자바 3 (2020.08.05) : 자료형, 자동 형 변환 규칙, 연산자 (0) | 2020.08.06 |
최근댓글