조건문(if문, if ~ else문 , if ~ else if ~ else문, switch문)

조혜진·2022년 5월 2일
0

java 이론

목록 보기
3/10

📌 JAVA의 조건문이란 ?

무조건 실행되는 것이 아니라, 특정 조건을 충족할 경우에만 실행되는 구문

📌 조건문의 종류

  • if문
    : 주어진 '조건'이 참(true)일 경우에만 실행된다.
  • if ~ else 문
    : 주어진 조건이 참(true)일 경우 if문이 실행되고,
    그렇지 않을 경우 else 문이 실행 된다.
  • if ~ else if ~ else 문
    : 조건을 여러개로 세분화하여 사용하는 if문이다.
  • switch문
    : 하나의 '값'에 대하여 여러가지 경우의 수로 나누어 분기한다.

📌 if문

  • if문은 주어진 조건이 참 일 경우에 지정된 구문이 실행된다
  • if문 예제
	int myage = 20;		
		if( myage == 19 ){
			System.out.println("19살 입니다.");
		}		
		if( myage != 20 ) {
			System.out.println("20살이 아닙니다.");
		}	
		if( myage > 19 ) {
			System.out.println("성인입니다.");
		}		
		if( myage <= 19 ) {
			System.out.println("학생입니다.");
		}
int point = 85;		
		/*
		 * point 가 70보다 크고, 80이하이면 "C학점 입니다."를 출력,
		 * point 가 70이하 또는 80보다 크면 "범위를 벗어났습니다."
		 */		
		// AND(&&) -> 두 조건이 모두 참이어야 전체가 참
		if( point > 70 && point <= 80 ) {
			System.out.println("C학점 입니다.");
		}
		// OR(||) -> 두 조건중 하나라도 참이면 전체가 참
		if( point <= 70 || point > 80 ) {
			System.out.println("범위를 벗어났습니다.");
		}

📌 if ~ else문

  • 그렇지 않으면?
  • if문이 조건이 참일 경우에 실행되는 구문이라면, if문이 조건과 반대되는 경우에 실행되고
    구문이 else 문이다.
  • else 문은 독립적으로 실행될 수 없고, 반드시 if문의 뒤에 위치해야 한다.
  • if ~ else문 예제
boolean is_korean = true;	
		if( is_korean ) {
			System.out.println("한국사람 입니다.");
		} else {
			System.out.println("한국 사람이 아닙니다.");
		}
/*
* 문제2. 만약 돈이 3000원 이상 있거나, 카드가 있다면 택시를 타고 그렇지 않으면 걸어가라.
*/
		int money2 = 2000;
		boolean hasCard = true;	
		if( money2 >= 3000 || hasCard ) {
			System.out.println("택시를 타고가라");
		} else {
			System.out.println("걸어가라");
		}

📌 if ~ else if ~ else문

  • 여러 가지 경우의 수를 분기
  • if 문과 else 문 사이에 else if 문으로 두 번째 조건, 세번째 조건을 나열할 수 있다.
  • else if 문은 필요한 만큼 나열할 수 있으며, 필요치 않은 경우 else 문은 생략 가능하다.
  • if ~ else if ~ else문 예제
int point = 90;
		if( 90 < point && point <= 100 ) {
			System.out.println("A");
		} else if( 80 < point && point <= 90 ) {
			System.out.println("B");
		} else if( 70 < point && point <= 80 ) {
			System.out.println("C");
		} else {
			System.out.println("F");
		}

📌 모든 종류의 if문을 사용하는 문제

  • 문제5-1. 국어, 영어, 수학 점수의 평균이 95점 이상이면 장학색을 출력하여라.
  • 문제5-2. 국어점수가 70점 이상이면 "국어 합격" 그렇지 않으면 "국어 불합격"을 출력하여라
  • 문제5-3. 수학점수가 90점 이상이면 "A학점", 80점 이상이면 "B학점", 70점 이상이면 "C학점",
  • 60점 이상이면 "D학점", 나머지 "F학점"을 출력
// 문제 풀이
int kor = 100, eng = 100, mat = 89;
		double avg = (kor + eng + mat)/3;		
		// 5-1. 풀이
		if( avg >= 95 ) {
			System.out.println("장학생");
		}		
		// 5-2. 풀이
		if( kor >= 70 ) {
			System.out.println("국어 합격");
		} else {
			System.out.println("국어 불합격");
		}		
		// 5-3. 풀이
		if( mat >= 90 ) {
			System.out.println("수학 : A학점");
		} else if( mat >= 80 ) {
			System.out.println("수학 : B학점");
		} else {
			System.out.println("수학 : F학점");
		}

📌 switch문

  • 변수 값에 대한 경우의 수를 처리하는 switch문
  • switch문은 하나의 변수(기준값)에 대한 여러가지 case를 정의하는 구문이다.
  • if문은 조건식(비교식, 부등식)이 사용될 수 있지만, switch문은 분기 조건이 반드시 일치하는
    "값"에 대해서만 처리 가능하다.
  • switch문 예제
char grade = 'F';		
		switch (grade) {
		case 'A':
			System.out.println("91 ~ 100점 사이 입니다.");
			break;
		case 'B':
			System.out.println("81 ~ 90점 사이 입니다.");
			break;
		case 'C':
			System.out.println("71 ~ 80점 사이 입니다.");
			break;
		default :
			System.out.println("70점 이하입니다.");
			break;
		}
// char grade 선언, A,B,C가 있다.
// A or B or C : "Pass" 1번 출력
// A, B, C를 제외한 다른 등급이 올 경우, "Not-Pass" 1번 출력 
		char grade = 'D';		
		switch (grade) {
		case 'A':
		case 'B':
		case 'C':
			System.out.println("Pass");
			break;
		default:
			System.out.println("Not-Pass");
			break;
		}

📌 switch문을 사용한 문제

  • 숫자가 3이면 "안녕"이 세줄, 숫자가 2이면 "안녕"이 두줄, 숫자가 1이면 "안녕"이 한줄,그 외는 "잘가"를 출력
int num2 = 5;		
		switch (num2) {
		case 3:
			System.out.println("안녕");
		case 2:
			System.out.println("안녕");
		case 1:
			System.out.println("안녕");
			break;
		default:
			System.out.println("잘가");
			break;
		}
profile
안녕하세요

0개의 댓글

관련 채용 정보