자바_스터디#4_제어문

이의현·2021년 1월 27일
0

목표

자바가 제공하는 제어문을 학습하세요.


학습할 것(필수)

  • 선택문(조건문)
  • 반복문

과제(옵션)

과제 0. JUnit 5 학습하세요


  • 인텔리J, 이클립스, VS Code에서 JUnit 5로 테스트 코드 작성하는 방법에 익숙해 질 것.
  • 이미 JUnit 알고 계신분들은 다른 것 아무거나!
  • 더 자바, 테스트 강의도 있으니 참고하세요~

과제 1. live-study 대시 보드를 만드는 코드를 작성하세요.


  • 깃헙 이슈 1번부터 18번까지 댓글을 순회하며 댓글을 남긴 사용자를 체크 할 것.
  • 참여율을 계산하세요. 총 18회에 중에 몇 %를 참여했는지 소숫점 두자리가지 보여줄 것.
  • Github 자바 라이브러리를 사용하면 편리합니다.
  • 깃헙 API를 익명으로 호출하는데 제한이 있기 때문에 본인의 깃헙 프로젝트에 이슈를 만들고 테스트를 하시면 더 자주 테스트할 수 있습니다

과제 2. LinkedList를 구현하세요.


  • LinkedList에 대해 공부하세요.
  • 정수를 저장하는 ListNode 클래스를 구현하세요.
  • ListNode add(ListNode head, ListNode nodeToAdd, int position)를 구현하세요.
  • ListNode remove(ListNode head, int positionToRemove)를 구현하세요.
  • boolean contains(ListNode head, ListNode nodeTocheck)를 구현하세요.

과제 3. Stack을 구현하세요.


  • int 배열을 사용해서 정수를 저장하는 Stack을 구현하세요.
  • void push(int data)를 구현하세요.
  • int pop()을 구현하세요.

과제 4. 앞서 만든 ListNode를 사용해서 Stack을 구현하세요.


  • ListNode head를 가지고 있는 ListNodeStack 클래스를 구현하세요.
  • void push(int data)를 구현하세요.
  • int pop()을 구현하세요.

과제 5. Queue를 구현하세요.


  • 배열을 사용해서 한번
  • ListNode를 사용해서 한번.

1. 제어문 (control statement)

제어문

  • 조건에 의하여 문장들의 실행 순서를 변경가능한 구문
  • 크게 2가지 -> 조건문, 반복문

  1. 조건문

    조건에 따라서 여러 개의 실행 경로 중 하나를 선택해야 하는 경우에 사용되는 문장
    ex) if-else, switch

  2. 반복문

    조건이 유지되는 한, 정해진 횟수만큼 처리를 되풀이하는 문장
    ex) for, while

프로그래밍 3가지 제어구조

  • 순차구조
  • 선택구조
  • 반복구조

    선택구조와 반복구조는 조건식으로 표현된다.
    조건식이란, 수식의 값true 또는 false 인 수식을 말하며,
    조건식에는 주로 >< 와 같은 관계연산자&&|| 와 같은 논리연산자 가 사용된다.

1-1. if_else 문

if(조건문){

  문장1;		// 조건식이 true이면 실행
  
}else{

  문장2;		// 조건식이 false이면 실행
  
}

조건식이 참으로 계산되면 문장1이 실행되고, 거짓으로 계산되면 문장2가 실행된다.

문장 그룹핑을 복합문(compound statement) 또는 블록(block)이라고 한다.

1-2. 조건연산자(?:)

간단한 if-else 문은 조건연산자를 사용하여 표현할 수도 있다.

60점 이상이면 합격을, 60점 미만이면 불합격을 출력한다.


1-3. 중첩 if문

if-else 문의 문장1, 또는 문장2 자리에 다른 if 문이 들어가는 경우를 중첩 if문이라고 한다.
(명절 미운 친첩(?)처럼)

헷갈릴 수 있겟지만, else절은 가장 가까운 if 와 매칭된다. 확실하게 하려면 블록을 사용해서 나타낸다.


1-4. 연속적인 if문

여러가지 조건에 의하여 다중으로 분기되는 결정을 하는 경우 다중 if-else 문을 사용한다.

하나의 조건식이 참이면, 관련된 문장이나 블록이 수행되고 더 이상의 비교는 이루어 지지 않는다.


profile
상상을 개발로

0개의 댓글