🦈 자바 문법 정리 🦈
if (<조건문>) {
...code
} else {
...code
}
if 조건문이 true일 경우 if문 내 코드가 실행되고, false일 경우 else문 내 코드가 실행된다.
조건문은 반환값으로 true 또는 false를 반환하는 비교 연산자, 논리 연산자 또는 메서드를 사용할 수 있다.
if (<조건문>) {
...code
} else if (<조건문>) {
...code
} else {
...code
}
if 조건문이 false일 경우 else if문의 조건문을 검사하고, true일 경우 else if문 내 코드가 실행되고, false일 경우 else문 내 코드가 실행된다.
else if문을 사용하는 경우도 있지만, 가독성을 위해 if-else문만을 사용하는 것을 지향한다.
또, 중첩 if문의 경우에도 분리해 하나의 if문만을 사용하는 것을 지향한다.
switch (<변수>) {
case <변수값1>:
...code
break;
case <변수값2>:
...code
break;
default:
...code
break;
}
변수에 해당하는 case 변수값이 있을 경우 해당 case문 내 코드가 실행된다.
해당하는 case 변수값이 없을 경우 default문 내 코드가 실행된다.
이때 case문 내에서 break를 하지 않을 경우 다음 case문이나 default문이 순차적으로 실행될 수 있어 주의해야 한다. 하지만 Java 12 Version부터는 break가 없어도 하나의 case문만 동작한다.
switch-case문은 입력값이 정해져 있는 경우나 동일한 기능을 위한 다양한 방법이 존재할 때 사용한다.
switch(channel) {
case 1 -> turnOnNetFlix();
case 2 -> turnOnAppleTv();
case 3 -> turnOn watcha();
...code
}
ex) Tv channel -> 채널 번호에 따라 각각 다른 기능을 가지므로 사용하면 좋다.
while (<조건문>) {
...code
}
조건문이 true일 경우 while문 내 코드가 반복 실행된다.
while (true) {
...code
}
이때 조건문의 결과가 항상 true일 경우 무한 루프에 빠질 수 있다.
while (true) {
...code
if (<조건문1>) {
continue;
}
if (<조건문2>) {
break;
}
}
반복문 내에서 continue, break를 사용할 수 있다.
if 조건문1이 true일 경우 아래의 코드들은 실행하지 않고 반복문 처음으로 돌아간다.
if 조건문2가 true일 경우 해당 반복문을 벗어난다. (반복 종료)
do {
...code
} while (<조건문>);
조건문이 true일 때 실행하는 것이 아니라, 일단 반복문 내 코드를 한번 실행한 후 조건문을 검사한다.
for (<초기값>;<조건문>;<증감>) {
...code
}
초기값 선언 -> for문 내 코드 -> 증감 -> 조건문 순으로 실행된다.
초기값의 증감에 따라 조건문을 만족(true)하면 반복문을 벗어나지 않으며, 만족하지 못하면(false) 조건문을 벗어난다.
Java 8 Version에서 stream API가 제공되어 함수형으로 프로그래밍이 가능해졌으며, 기존 반복문을 한줄로 줄일 수 있다.
// 기존 for문
for (String name : students) {
System.out.println(name);
}
// stream API
Arrays.stream(students).forEach(System.out::println);
두 반복문 모두 students 배열의 각 원소를 출력한다.