본문 바로가기
쌍용강북교육센터 수업/JAVA

[Day5] 21.06.14(월) 제어문(1) 조건문(단일, 다중, 선택, 중첩)

by 개발새싹 2021. 6. 14.

1. 자바 제어문 (자바의정석 p.136~138)

(1) 조건문

  - 조건: 연산 결과가 boolean(true, flase)인 것만 올 수 있음
    (
이 때, 조건문 연산자는 부정연산자(!), 비교연산자(<, >, <=, >=, ==, !=, 논리연산자(&&, ||)만 사용 가능)

  - 자바에서 사용하는 모든 제어문은 바로 밑에 있는 문장만 제어

     따라서 여러 개의 실행문장을 동시에 제어하고자 할 경우 반드시 {} 안에 넣어야 함

     ex) if(조건)

          실행문장1

          실행문장2 //실행문장 2번은 if와 관련 없는 문장, 만약 실행문장 1, 2를 모두 수행시키고 싶으면 {}로 묶어야 함

 

 

1) 단일 조건문 ★★★★★ (자바의 정석 p.136)

   - 단일 조건문은 true면 어떤 것을 수행할 것인지 정의하는 조건문

   - 조건마다 독립적으로 실행하므로 조건에 맞는 여러 개 수행 가능

   - 조건 형식

      * 한 개 문장 제어

      if(조건문)   // 조건문 연산자는 "부정연산자(!), 비교연산자, 논리연산자"만 가능

        수행문장   // 조건문이 true일 경우에만 수행하는 문장, if 소속문장은 1개만 가능

      else(조건문)

           수행문장

 

 

 

 

 

2) 선택 조건문 ★★★★★ (자바의 정석 p.140)

   - 선택 조건문은 true일 경우와 false일 경우를 나누어 처리

  - 조건이 true일 때, false일 때 처리하는 문장이 다른 경우

   ex) 오류 처리(입력값이 정상인 경우, 잘못된 경우), 로그인, 아이디 중복체크, 우편번호 검색

  - 조건 형식

   if(조건문)                                   // ex) 아이디가 중복이 안 된 경우

   {

     조건이 true일 때 처리하는 문장     // ex) 아이디가 중복이 안 된 경우 아이디 생성

   }

   else                                          // ex) 아이디가 중복된 경우

   {

       조건이 false일 때 처리하는 문장  // ex) 아이디가 중복된 경우 "중복된 아이디입니다" 출력

   }

[예제1] 정수 입력받아 짝수인지 홀수인지 구분하여 문장 출력하기

 

[예제2] 두 정수를 입력받아 사칙연산 수행하고, 0으로 나눌 때&입력값이 사칙연산자가 아닐 때 오류 처리하기

 

[예제3] 난수 입력받아 대문자/소문자 구분하기

 

 

 

 

3) 다중 조건문 (자바의 정석 p.141)

    - 제시된 조건문 중 해당되는 한 개의 조건문만 수행 - 조건마다 독립적으로 실행하므로 조건에 맞는 여러 개 수행 가능

      ex) 요일 계산, 게임 키보드, 성적 처리 시 학점 간 기준 정하고 그 중 입력된 성적이 몇 학점인지 출력할 때

    - 조건 형식

      if(조건문)

      { 

        실행문장 // if 조건이 ture일 경우 수행 후 종료

      }

      else if(조건문) // if 조건이 false일 때 수행

      {

        실행문장 // else if 조건이 true일 경우 수행 후 종료

      }

      else if(조건문) // if 조건, 첫 번째 else if 조건이 false일 때 수행

      {

        실행문장 // else if 조건이 true일 경우 수행 후 종료

      }

      ...

      else // 앞의 모든 조건에 해당하지 않을 때 수행(else 문장은 생략 가능)

      {

       조건이 없는 경우 수행하는 문장

      }

 

 

 

 

4) 중첩 조건문

    - 조건문 안에 조건문이 들어가는 문장

       ex1)

          if(computer=="가위")  // 컴퓨터가 가위 바위 보 중 가위를 냈을 때

          {

              if(player=="가위") // 컴퓨터가 가위를 냈을 때 사용자가 낼 수 있는 경우의 수

              else if(player=="바위")

              else if(player=="보")

           }

        ex2) 중첩 조건문은 &&로 연결하여 한 조건문으로 표현해도 됨

          if(computer=="가위" && player=="가위")  // 컴퓨터와 사용자가 가위를 냈을 때

          {

          }

          if(computer=="가위" && player=="바위"// 컴퓨터는 가위, 사용자는 바위를 냈을 때

          {

          }

          if(player=="가위"&& player=="보")// 컴퓨터는 가위, 사용자는 보를 냈을 때

          {

          }