관리 메뉴

Daily IT

4. if문 본문

개발자 영역/자바

4. if문

IT Knowledge Share 2020. 2. 24. 10:35
728x90

4. If문

 

[01] 제어문 - 분기문 if
     - 쇼핑몰의 고객등급 결정: VVIP, VIP, GOLD등의 결정 조건
     - 신용등급 결정 프로그램: 등급 10개의 분류 조건 발생, 다양한 등급 기준에 적당한지 판단하여 결정  
     - 교통카드의 사용가능 잔액 판단 결정: 1450원이하이면 잔액부족 메시지 출력
     - CPU의 온도가 높아지면 fan 회전을 높이는 처리.
     - 전철이 도착하면 출입문을 open 한다.

     - 프로그램은 if 조건문의 집합.
     - 조건에따라 판단을하여 코드를 실행합니다.
     - 조건에 따라 분기를 할 수 있습니다. 
     - if (조건식){ 
         참일 경우 실행
       } else { 
         거짓일 경우 실행
       } 
     - 중괄호 블럭안은 경계를 쉽게 알아볼수 있도록 공백 2칸(2~4칸)정도
       들여쓰기를 합니다. 
     - 새로운 중괄호({, })가 열리면 메모리상에서 독립적인 메모리(경계)가
       형성됩니다.
       예) 구에속한 동, 리
     - 교통카드 충전, 자판기등

- 조건이 들어가는 대표적인 if문의 적용 사례
  신용 등급별 대출금액 산출
  연봉별 금액 산출
  경력별 연봉 결정
  입사 점수별 보수 교육 날짜 지정
  근무 기간별 급여 산출
  추가 근무 시간 수당 산출
  상품 주문
  상품 결재 조건
  상품 배송 조회

1. If문의 기본 형태
   - 참일 경우만 실행하는 단순 if문


   - 참과 거짓일 경우 각각 다르게 실행되는 if문

 - 여러개의 if 조건을 나열하고 해당하는 조건에 참인 if 문을 실행하고 if 문 전체를
     종료합니다.

- if문은 if문을 포함 할 수 있습니다.
     근무분야 -+-> 데이터분석 --> 빅데이터분석/기계학습 --> 머신러닝/딥러닝 --> Tensorflow 2/PyTorch
                   |
                   +-> Web 개발

   - ||(파이프 기호): 논리 연산자 OR, 조건중 하나라도 참이면 참 처리, '또는'의 의미. 
     예) if ( su % 2 == 0 || su % 3 == 0){ ... }

   - &&: AND 연산자, 모든 조건을 만족해야 참으로 처리, '그리고'의 의미. 
     예) if ( su % 2 == 0 && su % 3 == 0){ ... } 


2. IF문 실습

- 3항 연산자: (조건) ? 참일 경우의 값: 거짓일 경우의 값;

- 문자열 비교는 if (test == "봄")의 형태가 가능하나 
  new를 이용하여 문자열을 생성한 경우는 equals() 메소드를 이용하여 비교해야함


--------------------------------------------------------
public class IfTest {

  public static void main(String[] args) {
    int age= 18;
    
    //3항 연산자. 조건문이지만 if가 없어서 연산자임.
    String vote = (age >= 18) ? "투표 가능": "투표 불가능";
    System.out.println(vote);
    
    int tot = 79; //4 byte, 약 21억 정도 저장 가능
    
    if (tot >= 80) {
      System.out.println("합격");
      System.out.println("노트북");
    }
    
    int su = 3;
    System.out.println("정수: " + su);
    
    if (su % 2 ==0) {
      System.out.println("짝수"); //true
    } else {
      System.out.println("홀수"); //false
    }
    
    String month = ""; //문자열
    if (su ==1) {
      month = "January";
    } else if (su == 2) {
      month = "February";
    } else if (su== 3) {
      month = "March";
    } else {
      month = "1~3월만 가능합니다";
    }
    System.out.println(month);
    
    String korean = "";
    if (month.equals("January")) {
      korean = "1월 오크밸리";
    } else if (month.equals("February")) {
      korean = "2월 빙어낚시";
    } else if (month.equals("March")) {
      korean = "3월 남해";
    } else {
      korean = "해당 자료 없음";
    }
    System.out.println(korean);
    
    System.out.println("----------------------");
    
    int test = 85;
    if (test >=60) {
      System.out.println("합격입니다."); // 60~
      
      if (test >= 85) {
        System.out.println("->프로젝트 투입"); // 85~
      } else {
        System.out.println("-> 추가 교육 실시"); // 60~84
      }
    } else {
      System.out.println("불합격입니다.");
    }
    
    String grade = "";
    if (test >= 90) {
      grade = "A";
    } else if (test >= 80 && test <= 89) { // &&는 논리연산자 and 사용. and는 범위를 지정할 때 사용.
      grade = "B";
    } else if (test >= 70 && test <= 79) {
      grade = "C";
    } else if (test >= 60 && test <= 69) {
      grade = "D";
    } else  {
      grade = "F";
    }
    System.out.println("grade :" + grade);
 
    int season = 8;
    if (season == 6 || season == 7 || season == 8) { //범위 지정이 애매한 경우 or 사용.
      System.out.println("여름입니다.");
    } 
    
    season = 12;
    if (season == 12 || season == 1 || season ==2) {
      System.out.println("겨울입니다.");
    }
    
   System.out.println("--------------------");
  }

}
-------------------------------------------------------------------------------------

* 실행 결과 *

'개발자 영역 > 자바' 카테고리의 다른 글

6. if문 연습2  (0) 2020.02.24
5. if문 연습  (0) 2020.02.24
3. 자바 구조/컴파일/자바 타입/연산자/사칙연산  (0) 2020.02.23
2. 이클립스 설치  (0) 2020.02.23
1. 자바 설치 및 삭제  (0) 2020.02.23
Comments