가장 먼저 많이 사용하는 조건문 "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를 구현하세요.
책 자바의신 / 저자 : 이성민