Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Keycloak 17.0.1
- 맥길대학교
- 현장학습
- 글로벌
- vue
- vue.js
- 메서드
- SpringBoot
- jsp
- 스프링
- aws
- JavaScript
- arraylist
- spring
- nginx
- keycloak
- jQuery
- gradle
- 알고리즘
- REACT
- 에러
- Flutter
- 자바스크립트
- 인텔리제이
- Docker
- json
- jpa
- java
- ES6
- lightsail
Archives
- Today
- Total
korean IT student
[Java-Live-Study] 4주차 - 제어문 본문
목표
자바가 제공하는 제어문을 학습하세요.
학습할 것 (필수)
- 선택문
- 반복문
1. 선택문
- if/else 문
int a = 5; // a가 5보다 크거나 같으므로 실행 if(a >= 5){ a = 7; } =================================== int a = 6; if(a > 5){ System.out.println("a가 5보다 큰 경우"); } else if(a > 7){ System.out.println("a가 7보다 큰 경우"); } else { System.out.println("위의 조건이 아닌 경우"); } ===================================
- switch 문 - 변수의 값에 따라 문장을 실행하는 제어문
String test = "study"; switch (test) { case "test" : System.out.println("test에 진입하였습니다."); break; case "study" : System.out.println("study에 진입하였습니다."); break; case "korea" : System.out.println("korea에 진입하였습니다."); break; default: System.out.println("case에 부합하는 데이터가 없네요."); break; }
2. 반복문
for문
- 반복된 횟수가 고정된 경우 사용하거나, index 위치나 값이 필요한 경우 사용한다.
// 1부터 10까지 출력 for (int i = 1; i <= 10; i++){ System.out.println(i); }
for-each문(향상된 for문)
- 배열 혹은 컬렉션의 순회시에 다음과 같이 조금 더 향상된 for 문을 사용할 수 있다.
int[] numbers ={1,2,3,4,5}; for(int num : numbers){ System.out.println(num); }
while 문
- 특정 조건이 참일 경우에 지정한 코드 블럭이 계속해서 수행되는 구문이다.
int a = 5; // a가 10 미만 일 경우 while문 while(a < 10){ a++; }
do while 문
- while 문이 조건식을 먼저 판별하고 코드를 수행했다면, do-while 문은 먼저 코드블럭을 수행하고 조건을 판별한다.
int a = 5; do { a++; }while(a < 10){ System.out.println(a); }
과제 (옵션)
과제 0. JUnit 5 학습하세요.
- 인텔리J, 이클립스, VS Code에서 JUnit 5로 테스트 코드 작성하는 방법에 익숙해 질 것.
- 이미 JUnit 알고 계신분들은 다른 것 아무거나!
- 더 자바, 테스트 강의도 있으니 참고하세요~
- [과제 제출] - https://changhyunit.tistory.com/91
과제 1. live-study 대시 보드를 만드는 코드를 작성하세요.
- 깃헙 이슈 1번부터 18번까지 댓글을 순회하며 댓글을 남긴 사용자를 체크 할 것.
- 참여율을 계산하세요. 총 18회에 중에 몇 %를 참여했는지 소숫점 두자리가지 보여줄 것.
- Github 자바 라이브러리를 사용하면 편리합니다.
- 깃헙 API를 익명으로 호출하는데 제한이 있기 때문에 본인의 깃헙 프로젝트에 이슈를 만들고 테스트를 하시면 더 자주 테스트할 수 있습니다.
public class gitTest { public static void main(String[] args) throws IOException { String my_token = "my_token"; GitHub github = new GitHubBuilder().withOAuthToken(my_token).build(); // gitRepository 연결 GHRepository repo = github.getRepository("koreanstudent/live-study").getSource(); // 모든 이슈를 가져온다. List<GHIssue> issues = repo.getIssues(GHIssueState.ALL); // 참여자 이름, 참여 횟수 Map<String, Integer> participant = new HashMap<>(); for (GHIssue issue : issues) { // 유저 중복을 제거하기 위한 Set Set<String> onlyOneParticipant = new HashSet<>(); //댓글 한개 이상 단 경우 유저이름 중복 제거 for (GHIssueComment comment : issue.getComments()) { onlyOneParticipant.add(comment.getUser().getName()); } //카운트 증가해주기 for (String name : onlyOneParticipant) { if(participant.containsKey(name)){ participant.replace(name,participant.get(name)+1); continue; } participant.put(name,1); } } BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); //참여율 출력 for(String name : participant.keySet()){ double rate = (double)(participant.get(name) * 100) / issues.size(); bw.write("name : " + name); bw.write(", Participation Rate : "+String.format("%.2f",rate)+"%"); bw.newLine(); } bw.close(); } }
과제 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를 사용해서 한번.
'back-end > JAVA' 카테고리의 다른 글
[Java-Live-Study] 6주차 - 상속 (0) | 2021.09.27 |
---|---|
[Java-Live-Study] 5주차 - 클래스 (0) | 2021.09.17 |
[Java-Live-Study] 3주차 - 연산자 (0) | 2021.08.16 |
[Java-Live-Study] 2주차 - 자바 데이터 타입, 변수 그리고 배열 (0) | 2021.08.04 |
[Java-Live-Study] 1주차 - JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가 (0) | 2021.08.03 |
Comments