상세 컨텐츠

본문 제목

[JAVA 입문 06] - 조건문(IF,SWITCH)

JAVA

by 코딩순이 2021. 2. 22. 19:01

본문

안녕하세요

 

순코딩의 코딩순이입니다.

 

이번 시간에는 조건문(IF, SWITCH)에 대해 알아보도록 하겠습니다.

 

▶ IF문

  • 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보다 작다.");
}

▶ IF문 예제1

// 시험점수가 60점 이상이면 합격, 그렇지 않으면 불합격

int score = 60;

if(score >= 60){
	System.out.println("합격");
}else{
	System.out.println("불합격";
}

▶ IF문 예제2

// 성적에 등급을 부여하는 프로그램
		
		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);
			
		}

▶ IF문 예제3

// 점수 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 + "점");*/

▶ IF문 예제3

// 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);

▶ SWITCH문

  • 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("이외의 경우에 하고 싶은 것");
}

▶ SWITCH문 예제1

// 주어진 월에 해당하는 계절을 출력해봅시다.
		
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 + "입니다.");

 

관련글 더보기