안녕하세요
순코딩의 코딩순이입니다.
이번 시간에는 조건문(IF, SWITCH)에 대해 알아보도록 하겠습니다.
if(조건식){ } : 조건식의 결과가 true이면 블럭 안의 문장을 수행한다.
else if(조건식) { } : 다수의 조건이 필요할 때 if 뒤에 추가한다.
else { } : 결과가 true인 조건식이 하나도 없는 경우를 위해 추가한다.
int a = 1;
if(a == 1){
System.out.println("조건식의 연산결과가 true이면 수행된다.");
}
if(a == 0){
System.out.println("조건식의 연산결과가 false이면 수행되지 않는다.");
}
int a = 1;
if(a == 1){
System.out.println("a가 1인 경우에 하고 싶은 것"); // 이 문장이 출력된다.
} else if(a == 2){
System.out.println("a가 2인 경우에 하고 싶은 것");
} else if(a == 3){
System.out.println("a가 3인 경우에 하고 싶은 것");
} else {
System.out.println("이외의 경우에 하고 싶은 것");
}
조건을 한 묶음으로 사용하기 위해서는 반드시 else if를 사용해야한다.
// 한 묶음으로 사용하기 위한 올바른 코드
if(a < 10){
System.out.println("a가 10보다 작다.");
}else if(a < 20){
System.out.println("a가 20보다 작다.");
}
// 한 묶음으로 사용하기 위한 잘못된 코드
if(a < 10){
System.out.println("a가 10보다 작다.");
}
if(a < 20){
System.out.println("a가 20보다 작다.");
}
// 시험점수가 60점 이상이면 합격, 그렇지 않으면 불합격
int score = 60;
if(score >= 60){
System.out.println("합격");
}else{
System.out.println("불합격";
}
// 성적에 등급을 부여하는 프로그램
score = 80;
String grade = null;
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";
}
System.out.println(score + "점에 해당하는 학점은 : " + grade);
// 성적에 등급을 부여하는 프로그램(+, - 구분)
score = 88;
grade = null;
if(score >= 90){
grade = "A";
if(score >= 97){
grade += "+";
}else if(score <= 93){
grade += "-";
}
}else if(score >= 80){
grade = "B";
if(score >= 87){
grade += "+";
}else if(score <= 83){
grade += "-";
}else if(score >= 70){
grade = "C";
if(score >= 77){
grade += "+";
}else if(score <= 73){
grade += "-";
}
}else if(score >= 60){
grade = "D";
if(score >= 67){
grade += "+";
}else if(score <= 63){
grade += "-";
}
}else{
grade = "F";
}
System.out.println(score + "점에 해당하는 학점은 : " + grade);
}
// 점수 3개를 입력받아 총점, 등급으로 출력해주세요.
System.out.println("국어점수를 입력해주세요 > ");
double score1 = Double.parseDouble(sc.nextLine());
System.out.println("수학점수를 입력해주세요 > ");
double score2 = Double.parseDouble(sc.nextLine());
System.out.println("영어점수를 입력해주세요 > ");
double score3 = Double.parseDouble(sc.nextLine());
double sum = score1 + score2 + score3;
double avg = (score1 + score2 + score3) / 3;
String grade1 = null;
if(avg >= 90){
grade1 = "A";
if(avg >= 97){
grade1 += "+";
}else if(avg <= 93){
grade1 += "-";
}
}else if(avg >= 80){
grade1 = "B";
if(avg >= 87){
grade1 += "+";
}else if(avg <= 83){
grade1 += "-";
}
}else if(avg >= 70){
grade1 = "C";
if(avg >= 77){
grade1 += "+";
}else if(avg <= 73){
grade1 += "-";
}
}else if(avg >= 60){
grade1 = "D";
if(avg >= 67){
grade1 += "+";
}else if(avg <= 63){
grade1 += "-";
}
}else{
grade1 = "F";
}
System.out.println("총점 : " + sum + "점");
System.out.println("평균 : " + avg + "점");
System.out.println("등급 : " + grade1 + "점");*/
// 1 ~ 100 사이의 랜덤한 수를 3개 발생시키고, 오름차순으로 출력해주세요.
int x = (int)(Math.random() * 100) + 1; // 범위 : 1 ~ 100
int y = (int)(Math.random() * 100) + 1;
int z = (int)(Math.random() * 100) + 1;
if(x > y){
int temp = x;
x = y;
y = temp;
}
if(x > z){
int temp = x;
x = z;
z = temp;
}
if(y > z){
int temp = y;
y = z;
z = temp;
}
System.out.println(x + " < " + y + " < " + z);
swith(int/String){ case 1: break; } 로 구성되어 있다.
조건식의 결과는 정수와 문자열만(JDK1.7부터 문자열 허용) 허용한다.
조건식과 일치하는 case문 이후의 문장을 수행한다.
// 조건식 결과 => 숫자
int a = 1;
switch(a){
case 1:
System.out.println("a가 1인 경우에 하고싶은 것");
break;
case 2:
System.out.println("a가 2인 경우에 하고 싶은 것");
break;
default:
System.out.println("이외의 경우에 하고 싶은 것");
}
// 조건식 결과 => 문자
String b = "a";
switch(b){
case "a" :
System.out.println("b가 \"a\"인 경우에 하고 싶은 것");
break;
case "b" :
System.out.println("b가 \"b\"인 경우에 하고 싶은 것");
break;
default :
System.out.println("이외의 경우에 하고 싶은 것");
}
// 주어진 월에 해당하는 계절을 출력해봅시다.
int month = 2;
String season = null;
switch(month){
case 3: case 4: case 5:
season = "봄";
break;
case 6: case 7: case 8:
season = "여름";
break;
case 9: case 10: case 11:
season = "가을";
break;
case 12: case 1: case 2:
season = "겨울";
break;
}
System.out.println(month + "월은 " + season + "입니다.");
[JAVA 입문 07] - 다차원 배열 예제 (0) | 2021.03.03 |
---|---|
[JAVA 입문 01] - JDK 1.7 설치 및 Eclipse(Kepler) 설치 (0) | 2021.02.20 |
[JAVA 입문 05] - 논리 연산자와 비교 연산자 (0) | 2021.02.19 |
[JAVA 입문 04] - 산술 연산자와 논리 연산자 (0) | 2021.02.19 |
[JAVA 입문 03] - 입력과 출력 (0) | 2021.02.18 |