반응형

목표

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

 

학습할 것

- 선택문

- 반복문

 


선택문

- if문, switch문

 

if문

어떤 결과 값이 출력될까요?? ㅎㅎ

 

정답은 '숫자가 10 이상입니다.' 입니다~

 

if 문은 명령문 블록의 실행 여부를 결정하는데 사용됩니다.

첫 번째 조건절에서 'num < 5'라는 조건절에 num은 10이기 때문에 건너뛰고, 다음 조건절에서도 9 이상이기 때문에 건너 뛰어서 위의 조건절을 모두 만족하지 않으면 마지막 else 조건절을 실행시키게 됩니다. 

 

switch문 

어떤 결과 값이 출력될까요?? ㅎㅎ

 

정답은 'num은 3입니다.' 

          'num은 4입니다.'

 

swtich 문은 입력 변수 값과 일치하는 입력값이 있다면 해당 case 문 하위의 문장을 실행합니다. 

혹시 'num은 3입니다.'라고 생각하신 분이 계신가요? 

swtich 문은 해당 case 문을 실행한 뒤 break 문이 있어야지 빠져나갑니다.

만약 break 문이 빠져 있다면 다음 case 문을 실행하게 됩니다.

마지막으로 default 같은 경우는 case의 값이 아닌 다른 값이 저장되어 있다면 default 문장을 실행합니다.

 

반복문

- for문, for each문, while문, do while문

- for 문 같은 경우는 반복 횟수가 정해져 있을 때 사용하고, while 문 같은 경우는 반복 횟수가 정해져 있지 않을 때 사용하면 유용합니다.

for문

어떤 결과 값이 출력될까요?? ㅎㅎ

 

정답은 1월부터 12월까지 순서대로 출력하게 됩니다.

 

for 문의 기본 구성은 (초기값; 조건문; 증가치) 로 구성되어 있습니다.

위의 문제를 예로 들면 i가 조건문 12이하 일동안 증가시키며 반복 수행을 합니다.  

 

for each문

for each는 J2SE 5.0부터 추가되었습니다. for each라는 키워드가 따로 있는 것은 아니고 동일한 for 문이지만 사용하는 구조가 조금 다릅니다. 

배열 형태로 저장되어 있는 과일들을 하나씩 출력하는 소스코드입니다.

for each 문인 경우 증감 연산자가 필요하지 않고, 배열 형태의 값을 꺼낼 때 아주 유용할 것 같습니다.

 

while문

위의 for 문과 같이 1월부터 12월까지 순서대로 출력하게 됩니다.

 

while 문은 조건문이 참인 동안 계속해서 안의 내용을 수행하게 됩니다.

조건문이 참인 경우에도 빠져나가고 싶을 경우에는 아래와 같이 break 문을 이용하실 수 있습니다.

while 문에서 break 사용

 

 

while 문에서 continue 사용 

위와 같이 continue을 사용해서 홀수 월만 출력할 수 있습니다.

continue를 만나게 되면 while 문의 맨 처음 조건문으로 돌아가게 됩니다.

 

do while문

일반적으로 while 문은 조건식이 참일 경우 코드가 실행되는 반면에, do while 문은 무조건 한번 이상 실행하게 됩니다.

 


과제 (옵션)

과제 0. JUnit 5 학습하세요.

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

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

 

아직 많이 부족하지만 java api 문서 읽는 방법을 조금이나마 학습할 수 있는 시간이었습니다. 

GitHub API를 이용해서 과제를 진행하다 보니 보다 즐겁게 할 수 있었습니다.

 

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

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

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

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

 

모든 과제를 수행하지 못했습니다... 꼭 작성하자..

 

728x90
반응형

+ Recent posts