본문 바로가기
코드프레소 체험단/Java 프로그래밍

[처음 시작하는 Java 프로그래밍] 조건문

by 의정부핵꿀밤 2022. 1. 14.
728x90

✨ 이 글은 [ 코드프레소 Java 웹 개발 체험단 활동 ] 내용입니다 ✨

💜 코드프레소 이러닝 강의 수강 중 - 처음 시작하는 Java 프로그래밍 💜

😎 아래의 링크를 통해 프리미엄 IT 교육 서비스, 코드프레소를 확인해보세요 😎

https://www.codepresso.kr/

 

프리미엄 IT 교육 서비스 - 코드프레소

 

www.codepresso.kr


제어문

  • 자바 프로그램은 기본적으로 위에서 아래로 순차적으로 실행된다
  • 프로그램의 실행 순서를 제어할 수 있다!
  • 조건에 따라 실행 코드를 분기한다 - 조건문(Conditional Statement)
  • 특정 코드를 반복해서 실행한다  - 반복문(Loop Statement)

 

 

 

조건문(Conditional Statement)

  • 조건에 따라서 서로 다른 코드가 실행되도록 분기 처리한다
  • 예시
    1. 홀수, 짝수 판별 프로그램 -> 숫자를 2로 나눠서 나머지에 따라 홀수/짝수 구분
    2. 티켓 발급 프로그램 -> 가격에 따라 티켓 가격을 나눠서 출력

 


비교 연산자와 조건문

  • boolean 형 결과를 갖는 비교 연산자는 조건문의 조건식에 활용된다
    • 오늘이 할인기간이 맞으면?
    • 최종 점수가 70점을 넘으면?
    • 결과 값이 1보다 작으면?
    • 비밀번호가 맞다면?

 

 

 

조건문(Contional Statement)

  • if, else if, else, switch 의 키워드를 사용하여 조건문을 구성한다

 

조건문 - 단일 if 문의 활용

  • 조건문의 유형 1 - 단일 if 문 (if Statement)
  • 문법
    • if 다음에 나오는 조건식을 확인한다 -> 조건식의 결과는 true 또는 false
    • 조건식의 결과가 true이면 if 내부의 코드를 실행한다
    • 조건식의 결과가 false이면 if 내부의 코드를 실행하지 않는다
  • 조건문의 중괄호 { }와 들여쓰기는 필수이다!
    • 중괄호 { } 는 수행할 코드를 구분하는 역할을 한다
    • 중괄호 { } 내에서 실행할 코드 작성 시 앞에 들여쓰기는 필수!
    • 수행할 명령어가 한 줄인 경우 중괄호 { } 를 생략할 수 있지만 표시하는 걸 권장한다!

 


if - else 문의 활용

  • 조건문의 유형 2 : if - else 문
  • 문법
    • 조건식의 결과가 true이면 if 내부의 코드만 실행한다
    • true
    • 조건식의 결과가 false 이면 else 내부의 코드만 실행한다
    • else 구문은 if 구문의 조건식 없이 단독으로 사용할 수 없다 -> 에러 발생!
    • if - else 문에서도 중괄호와 들여쓰기는 필수다!

 


if - else if - else 문의 활용

  • 위처럼 다중 조건인 경우 사용한다
  • 조건문의 유형 3 : if - else - if 문
  • 문법
    • 조건식의 결과가 true인 경우에 해당하는 내부 코드만 실행된다

 

  • if 문은 반드시 최초에 1번만 사용되어야 한다
  • else if 문은 없거나 1번 이상의 다중 사용이 가능하다
  • else 문은 없거나 마지막에 1번만 사용한다

논리 연산자 (Logical Operator)

  • 둘 이상의 조건들을 결합하여 최종적으로 true 또는 false 값을 연산하는 연산자
  • AND 연산자, OR 연산자, NOT 연산자가 있다
  • 단일 조건
    • 당신은 한국인 인가요?
  • 다중 조건
    • 당신은 한국인이고, 자바 프로그래머 인가요?
    • 당신은 풀스택 개발자이거나, 미국사람 인가요?

 

 

AND 연산자

  • 모든 조건이 true인 경우에만 결과가 true가 된다
  • 조건 중 하나라고 false이면 결과는 false가 된다
  • 자바에서는 AND 연산자를 && 기호로 표기한다

  • AND 연산의 결과는 boolean 형으로 조건문에서 빈번하게 사용된다
  • -> 조건 중 하나라도 false면 결과가 false가 된다

 

 

 

 

OR 연산자

  • 결합된 조건 중 하나라도 true이면 결과는 true가 된다
  • 모든 조건이 false인 경우에만 결과가 false가 된다
  • 자바에서는 OR 연산자를 || ㅣ기호로 표기한다

  • OR 연산자의 결과는 boolean 형으로 조건문에서 빈번하게 사용된다
  • 결합된 조건 중 하나라도 true이면 결과는 true가 된다

 

 

 

 

NOT 연산자

  • true는 false로, false는 true로 조건식의 결과를 반대로 바꾸는 연산이다
  • 논리 부정 연산자라고도 불린다
  • 자바에서는 NOT 연산자를 ! 기호로 표기한다

  • NOT 연산자의 결과는 boolean 형으로 조건문에서 빈번하게 사용된다
  • 아래의 예시에서는 변수 값이 false니까 if 문이 true가 되어 if 문의 명령문 실행!

!false -> true

  • 아래의 예시에서는 변수 값이 true니까 if 문은 false가 되어서 else 문의 명령문 실행!

!true -> false

 


조건문의 중첩 (Nested Conditional Statement)

  • if - else if - else 문 하위에 또 다른 if (-else if - else) 문이 중첩된 형태

  • 다양한 형태로 중첩 가능하다

 

 

 

조건문의 중첩은 코드 가독성 저하

  • 깊은 레벨로 중첩된 조건문은 코드의 가독성을 저하시킨다
  • 복잡도를 낮추고 가독성을 높이기 위한 고민이 필요하다
    • 조건을 단순화할 수 있을 지 고민해야 한다!
    • 다형성의 활용을 통해 복잡도를 낮출 수 있다
  • Clean Code 고민하기!

 

 


switch - case 문

  • 조건문을 switch - case 문으로 표현할 수 있다
  • 조건식의 경우의 수가 많아지더라도 간결하게 표현할 수 있다
  • 보통 처리속도가 if - else if 문보다 빠르다

 

 

 

switch - case 문의 작성

  • switch 문에는 조건식을 기재하고 중괄호 { }로 블록을 만든다
  • case 문에는 조건식에 대한 결과값을 명시하고, 끝에 콜론(:)을 붙인다
  • case 문 내에는 각각 수행할 코드와 끝에 break; 를 작성한다
  • default : 을 작성한다

 

 

 

 

switch - case 문의 흐름

CASE 1
CASE 2

 

 

 

break 문

  • break 문을 만나면 switch 구문을 빠져나간다
  • break 문을 통해 case 문의 코드 실행 영역을 구분할 수 있다
  • break 문은 생략할 수 있으며, 이 경우 switch문이 종료될 때까지 모든 문장을 수행한다

 

 

switch - case에 OR 조건 활용하기

  • break 문을 생략할 수 있으며, 이 경우 switch 문이 종료될 때까지 모든 문장을 수행한다

 

 

 

switch - case 문의 제한

  • swtich 조건식의 결과는 정수 또는 문자열이어야 한다
  • case 문에는 정수 상수, 문자열 상수만 올 수 있다 -> 변수와 실수는 불가능하다!

 

728x90

댓글