JAVA_조건문 (if, switch)

JW__1.7·2022년 7월 23일
0

JAVA 공부일지

목록 보기
4/30

if문

  • 조건문을 만족하는 경우에만 실행한다.
  • 실행문은 중괄호 { }로 묶어서 표시한다.
  • 실행문이 단일 문장인 경우 중괄호 { } 생략 가능하다.
if(조건) {
	실행문
}
	int score = 85;
		
	if (score >= 60) {
		System.out.println("합격");
	}	
	if (score < 60) {
		System.out.println("불합격");
	}

if-else문

  • 조건문을 만족하는 경우와 만족하지 않는 경우를 동시에 처리한다.
  • 실행문은 중괄호 { }로 묶어서 표시한다.
  • 실행문이 단일 문장인 경우 중괄호 { } 생략 가능하다.
if(조건) {
	 실행문
} else {
	 실행문
}
	int score = 85;
		
	if(score >= 60) {
		System.out.println("합격");
	} else
		System.out.println("불합격");

else if문

  • 조건문이 많은 경우에 사용한다.
  • 실행문은 중괄호 { }로 묶어서 표시한다.
  • 실행문이 단일 문장인 경우 중괄호 { } 생략 가능하다.
if(조건) {
	실행문
} else if(조건) {
	실행문
} else if(조건) {
    실행문
} else {
	실행문
}
  • 나이에 따른 결과를 출력하자.
    0 ~ 7 : 미취학아동
    8 ~ 13 : 초등학생
    14 ~ 16 : 중학생
    17 ~ 19 : 고등학생
    20 ~ : 성인
	int age = 25;
	if(age < 0 || age > 100) {
		System.out.println("잘못된 나이");
	} else if(age <= 7) {
		System.out.println("미취학아동");
	} else if(age <= 13) {
		System.out.println("초등학생");
	} else if(age <= 16) {
		System.out.println("중학생");
	} else if(age <= 19) {
		System.out.println("고등학생");
	} else  {
		System.out.println("성인");
	}
  • 월에 따른 계절을 출력하자.
    봄 : 3 ~ 5
    여름 : 6 ~ 8
    가을 : 9 ~ 11
    겨울 : 12, 1 ~ 2
	int month = 9;
	if(month < 1 || month > 12) {				
		System.out.println("잘못된 월");
	} else if(month <= 2 || month == 12) {
		System.out.println("겨울");
	} else if(month <= 5) {
		System.out.println("봄");
	} else if(month <= 8) {
		System.out.println("여름");
	} else {
		System.out.println("가을");
	}

나머지 연산 modular을 활용해서 월에 따른 계절을 출력하자.

	int month = 9;
	int mod = month % 12;
	if(month < 1 || month > 12) {				
		System.out.println("잘못된 월");
	} else if(mod <= 2) {
		System.out.println("겨울");
	} else if(mod <= 5) {
		System.out.println("봄");
	} else if(mod <= 8) {
		System.out.println("여름");
	} else {
		System.out.println("가을");
	}
  • 점수에 따른 학점
    A : 100 ~ 90
    B : 89 ~ 80
    C : 79 ~ 70
    D : 69 ~ 60
    F : 59 ~ 0
	int score = 90;
	char grade;
	if(score < 0 || score > 100) {
		grade = 'X';
	} else 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 + "점");	// 점수는 90 점
	System.out.println("학점은 " + grade + "학점");	// 학점은 A학점

오직 일 수만 고려하며, 1일이 수요일이다.
n일 후 무슨 요일인지 출력하기.

	int day = 1;
	int n = 1;
	String weekName;	
		
	day += n;
		
	if(day % 7 == 0) {
		weekName = "화";
	} else if(day % 7 == 1) {
		weekName = "수";
	} else if(day % 7 == 2) {
		weekName = "목";
	} else if(day % 7 == 3) {
		weekName = "금";
	} else if(day % 7 == 4) {
		weekName = "토";
	} else if(day % 7 == 5) {
		weekName = "일";
	} else {
		weekName = "월";
	}
	
	System.out.println(weekName + "요일");	// 목요일

switch문

  • switch문의 표현식 결과와 case문의 값을 비교하여 실행할 문장을 선택한다.
  • case문의 값과 일치하는 값이 없으면 default문을 실행한다. (default문은 생략 가능)
  • case문의 실행문이 끝나면 break문을 통해서 switch문의 실행을 종료하는 것이 일반적이다.
  • 표현식 결과는 double, boolean 타입이 불가능하다.
switch(표현식) {
case: 
	실행문; 
    break;
case: 
	실행문; 
    break;
default: 	// default는 생략가능
	실행문;
}
	int schoolYear = 5;
	switch(schoolYear) {
	case 1:
	case 2:
	case 3:
		System.out.println("저학년");
		break;
	case 4:
	case 5:
	case 6:
		System.out.println("고학년");
		break;
    default:
    	System.out.println("해당없음");
	}
  • 각 층별 관리자를 출력
    1 ~ 2층 : 한지민
    3 ~ 4층 : 박서준
    5 ~ 6층 : 박은빈
    나머지 : 손석구
	int floor = 7;
	String manager;
	switch(floor) {
	case 1:
	case 2: 
    	manager = "전지현"; 
        break;
	case 3:
	case 4: 
    	manager = "한지민"; 
        break;
	case 5:
	case 6:	
    	manager = "박은빈";
        break;
	default: 
    	manager = "손석구";
	}
	System.out.println(floor + "층 관리자는 " + manager + "입니다.");

홀수, 짝수

	int n = 2;
	switch(n % 2) {
	case 0: 
    	System.out.println("짝수"); 
        break;
	default: 
    	System.out.println("홀수");
	}
  • 분기 출력하기 (단, default 없이 작성)
    1 ~ 3월 : 1분기
    4 ~ 6월 : 2분기
    7 ~ 9월 : 3분기
    10 ~ 12월 : 4분기
	int month = 7;
		
	switch((month - 1) / 3) {
	case 0: 
    	System.out.println("1분기"); 
        break;
	case 1:	
    	System.out.println("2분기"); 
        break;
	case 2: 
    	System.out.println("3분기"); 
        break;
	case 3:	
    	System.out.println("4분기"); 
        break;
	}
  • 점수에 따른 학점
    A : 100 ~ 90
    B : 89 ~ 80
    C : 79 ~ 70
    D : 69 ~ 60
    F : 59 ~ 0
	int score = 80;
	String grade;
		
	switch(score / 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(score + "점은 " + grade + "학점입니다.");
  • 등급(1,2,3)에 따른 권한 출력
    1등급 : 쓰기 실행 읽기
    2등급 : 실행 읽기
    3등급 : 읽기
    나머지 : 없음
	int level = 5;
	String right = "";	// 권한
		
	switch(level) {
	case 1: 
    	right += "쓰기";
	case 2: 
   		right += "실행";
	case 3: 
    	right += "읽기"; 
        break;
	default: 
    	right += "없음";
	}	
	System.out.println(right);	
→ 해당 방법으로 여러 페이지를 표현한다.

0개의 댓글