Programming Language/java

[whiteship_java_study]4주차. 제어문

김크리 2021. 7. 17. 18:53

목표

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

제어문

대부분의 코드는 위에서 아래 순으로 읽고 실행된다. 자바 또한 동일하게 동작한다. 필요에 따라 코드를 반복하거나 건너뛰는 등의 순서를 변경하는 일이 발생한다. 이 때, 제어문을 사용하여 코드 실행 흐름을 제어할 수 있다
제어문은 선택문, 반복문, 분기문 으로 나누어져있다.

선택문

if문

기본적인 제어문으로, 조건에 만족할 경우 조건문 내의 코드({})가 실행된다.

if (조건문) { 조건이 참일 경우 실행되는 코드 }

if-else문

if문이 참(true)만을 실행한다면, if에 부합하지 못하는 조건에도 실행하는 코드를 작성할 수 있다.
또한, 조건을 여러개로 나눌 수 있다.

if (조건문){ 조건이 참일 경우 실행되는 코드 } else if (조건문) { 상위 조건에 부합하지 못하고, 해당 else if의 조건에 참일 경우 실행되는 코드 } else { 조건들이 거짓일 경우 실행되는 코드 }

switch문

조건(condition)을 검사하는 if 문과 차이점으로 switch는 값을 검사한다.

값이 중요한경우에는 switch 문을 사용하고 조건이 중요한 경우에는 if 문을 사용하면 된다.
개발 주제에 맞는 것을 선택하여 개발을 진행하면 된다.

switch 비굣값 { case 값1: 문장 case 값2: 문장 default: 문장 }

반복문

반복되는 코드를 작성할때 사용되는 구문이다.

for문

설정한 조건이 만족 될 때 까지 코드블록이 수행된다.

//1. 일반적인 for문 for (초기문; 조건문; 후처리) { 코드블록 //조건문의 true인 경우 수행 } //2. foreach 문(값 중심) for(값 정의 : 리스트 값){ 코드블록 }
int[] arr = {1,2,3,4,5} for(int i=0;i<arr.length;i++){ System.out.println(arr[i]) } for(int value : arr){ System.out.println(value) }

while문

조건이 참일 경우에 코드블록이 수행된다. 참이 아닐 경우에는 탈출한다.

while(조건문){ 코드블록 }
public void test(){ Stack<String> stack = new Stack<>() stack.add("하나"); stack.add("둘"); stack.add("셋"); while(stack.isEmpty()){ System.out.Println(stack.pop()); } }

do-while문

코드블럭을 먼저 수행하고 후에 조건을 판별한다.

do{ 코드블록 } while(조건문)
public void test(){ Stack<String> stack = new Stack<>() stack.add("하나"); stack.add("둘"); stack.add("셋"); do{ System.out.Println(stack.pop()); }while(stack.isEmpty()); //Exception 발생 //빈값을 조회하려고 하는 경우가 생긴다.(실행 후 조건 확인) }



과제

junit5 학습 자바 프로그래밍 언어용 유닉 테스트 프레임워크 JUnit5
live-study 대시 보드를 만드는 코드를 작성 https://github.com/cri-kim/BlogPractice/tree/main/java/live-study
LinkedList, Stack, Queue 구현 https://github.com/cri-kim/BlogPractice/tree/main/java/data-structure

참고

백기선의 자바 스터디 : https://github.com/whiteship/live-study

Github API for Java : https://github-api.kohsuke.org/