목표
자바가 제공하는 제어문을 학습하세요.
학습할 것(필수)
과제(옵션)
과제 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가지 -> 조건문, 반복문
- 조건문
조건에 따라서 여러 개의 실행 경로 중 하나를 선택해야 하는 경우에 사용되는 문장
ex) if-else, switch
- 반복문
조건이 유지되는 한, 정해진 횟수만큼 처리를 되풀이하는 문장
ex) for, while
프로그래밍 3가지 제어구조
- 순차구조
- 선택구조
- 반복구조
선택구조와 반복구조는 조건식으로 표현된다.
조건식이란, 수식의 값이 true 또는 false 인 수식을 말하며,
조건식에는 주로 > 나 < 와 같은 관계연산자 와 &&나 || 와 같은 논리연산자 가 사용된다.
1-1. if_else 문
if(조건문){
문장1;
}else{
문장2;
}
조건식이 참으로 계산되면 문장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 문을 사용한다.
하나의 조건식이 참이면, 관련된 문장이나 블록이 수행되고 더 이상의 비교는 이루어 지지 않는다.