Java Study 4week

Rm·2020년 12월 9일
0

목표

자바가 제공하는 제어문 학습하기.

조건문

가장 먼저 많이 사용하는 조건문 "if"에 대해서 살펴보면 다음과 같이 사용합니다.

if(boolean값) 처리문장;

if 다음에는 반드시 소괄호를 열고 닫아야 하며, 이 소괄호 안에는 boolean 형태의 결과가 있어야합니다. 그 다음에는 해당 조건에 맞을 때, 소괄호 안의 결과가 true일 때 처리하는 "처리문장"과 세미콜론이 옵니다.

다음과 같이 사용할 수도 있습니다.

if(true);
if(true)
	System.out.println("Hello world");
if(false) System.out.println("Hi");

다음에서 출력되는 결과는 Hello world만 출력됩니다.

if(false)의 결과를 처리하는 용도로 사용되는 "else"가 있습니다.

public class Example {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("당신의 참여율을 입력하세요");
		int attendanceRate = sc.nextInt();
		if(attendanceRate >= 80) {
			System.out.println("축하합니다 당신은 한정판 티셔츠를 받을 수 있습니다!");
		}else {
			System.out.println("자격미달");
		}
	}

}

해당 예제처럼 참여율이 80미만일경우 false이기 때문에 else로 결과를 처리합니다.

또한, else 뒤에 if을 또 붙여 조건을 따질 수 있습니다.

public class Example {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("당신의 참여율을 입력하세요");
		int attendanceRate = sc.nextInt();
		if(attendanceRate >= 80) {
			System.out.println("축하합니다 당신은 한정판 티셔츠를 받을 수 있습니다!");
		}else if(attendanceRate >=70) {
			System.out.println("안타깝게도 당신은 미세한 차이로 미달입니다");
		}else if(attendanceRate >=60) {
			System.out.println("자격미달인거 아시죠?");
		}
		else {
			System.out.println("자격미달");
		}
	}

}

참여율이 각각 80미만, 70미만, 60미만일때 해당 조건에 맞는 결과를 처리합니다.
그밖에 조건을 만족하지않으면 "자격미달"을 출력합니다.

선택문

앞에서 살펴본 if else는 보통 두가지 이상이 값을 비교하거나, 단순히 true, false 여부만 확인하고자 할 때 많이 사용합니다. 하지만, 학점이나 이자 계산 같이 하나의 값이 여러 범위에 걸쳐서 비교되어야 할 때에는, 하나의 값으로 분기하여 비교하는 switch구문을 사용하는 것이 좋습니다.

switch문은 다음의 구조를 가집니다.

switch(비교대상변수){
case 점검값1:
처리문장1;
'''
break;
case 점검값2:
처리문장2;
'''
break;
default:
처리문장;
'''
break;
}

가장 첫 줄에는 switch라고 명시한 후 중괄호를 시작합니다. 괄호 안의 비교대상변수는 long을 제외한 정수형과 몇몇 특별한 타입만이 들어갈 수 있습니다.

case 문장이 없으면 switch문을 쓸 필요가 없기때문에 반드시 있어야 합니다.
각 case 문을 마무리 하고 싶다면 "break;"를 추가해야만 합니다.

반복문

java에는 for loop와 while문 두 개의 반복문이 있습니다.
반복문이란 지정한 횟수만큼 반복하거나, 조건에 맞을 때까지 반복하는 문장을 말합니다.

int sum = 1+2+3+4+5+6+7+8+9+10+11+12

1부터 12까지는 이렇게 할 수 있지만, 1000이나 1,000,000까지의 값을 더할 때에는 이렇게 할 수가없습니다. 이럴때 사용하는 것이 바로 반복문입니다.

아래는 for루프의 기본 문법입니다.

for(초기화; 종료조건; 조건 값 증가){
반복문장
}

JDK5에서 새로 추가된 for루프

for(타입이름 임시변수명 : 반복대상객체){

}

아래는 while문의 기본 문법입니다.

while(boolean조건){
처리문장;
'''''

}
bollean조건이 있어야만 하고 조건 값이 true일 경우에만 중괄호 안에 있는 내용들이 수행됩니다.

아래는 while문의 변종 do-while문의 문법입니다.

do {
처리문장;
''''
} while(boolean조건);

do-while문은 적어도 한 번은 반복문장이 실행됩니다.

과제 (옵션)

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

테스트코드 작성법을 전혀모른상태에서 기본적인 부분만 실습해봤습니다.

어노테이션은 @Test / @AfterEach를 사용하였습니다. 다른 부분들은 차차 학습해나가면서 수정하겠습니다.

@AfterEach에서는 각각의 테스트코드가 끝날때마다 데이터 클리어작업을 합니다.

테스트코드를 먼저 작성하고 구현하는것을 TTD라고 합니다.

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

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

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

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

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

참고 문헌

책 자바의신 / 저자 : 이성민

profile
우당탕 개발자 성장기

0개의 댓글