조건문(Conditional)
if 문
int a = 1;
int b = 100;
if (a == b) {
System.out.println("a == b");
} else if (a < b) {
System.out.println("a < b");
} else if (a <= b) {
System.out.println("a <= b");
} else {
System.out.println("else");
} // a < b
if가 참일 때, 코드를 실행한다. if가 거짓이라면 else를 실행한다.
조건을 여러 개 하고 싶다면 else if를 사용한다. 다중 조건문일 경우, 조건을 만족하는 다른 조건문이 있어도 최초의 분기만 실행한다.
switch 문
int a = 10;
switch (a + 1) {
case 9:
System.out.println("a + 1 == 9");
case 10:
System.out.println("a + 1 == 10");
case 11:
System.out.println("a + 1 == 11");;
}
switch의 값이 일치하는 case인 "a + 1 == 11"가 출력된다. 그렇다면 거꾸로 나열하면 어떻게 될까?
int a = 10;
switch (a + 1) {
case 11:
System.out.println("a + 1 == 11");
case 10:
System.out.println("a + 1 == 10");
case 9:
System.out.println("a + 1 == 9");;
}
황당하게도 "a + 1 == 11", "a + 1 == 10", "a + 1 == 9" 모두 출력된다. case 같은 경우에는 조건을 만족했다고 조건문을 끝내지 않는다. 조건을 끝내고 싶다면 아래처럼 break라는 키워드를 작성해야 빠져나갈 수 있다.
int a = 10;
switch (a + 1) {
case 11:
System.out.println("a + 1 == 11");
break;
case 10:
System.out.println("a + 1 == 10");
break;
case 9:
System.out.println("a + 1 == 9");
break;
default:
System.out.println("default");
}
default는 모든 case에 만족하지 않을 경우 실행되는 코드이다.
반복문(Loops)
어떠한 작업을 반복적으로 수행할 수 있도록 하는 형식
for 문
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
for 문을 만들려면 괄호( ) 안에 먼저 int 형태의 초기화된 변수를 만들어준다. 그리고 변수의 범위를 정해준다. 조건식이 없으면 반복문이 계속 수행되어 무한루프에 빠지게 된다. i가 1씩 늘어나도록 ++ 증감식을 붙여준다. 이렇게하면 i가 10보다 작을 때까지 1씩 커지며 반복한다.
즉, 정리하면 for 문에는 초기화된 변수, 조건식, 증감식이 있어야한다.
while 문, do-while 문
int b = 10;
while (b > 0) {
System.out.println(b);
b--;
}
for 문은 초기화된 변수를 내부에서 만들지만 while 문은 보통 외부에서 만든다.
int b = 0;
do {
System.out.println(b);
b--;
} while (b > 0);
do-while 문은 일단 do로 조건없이 실행을 시킨 뒤, 중괄호{} 뒤에 while을 붙여 실행한다. do-while 문은 while 문과 다르게 먼저 실행 후, 조건문을 반복한다. 즉, while 문에 있는 조건과 무관하게 최초 한 번은 무조건 실행하는 반복문이다.
'Back-End > Java' 카테고리의 다른 글
함수 (0) | 2023.05.15 |
---|---|
자료구조 - 배열, 리스트, 맵 (0) | 2023.05.12 |
연산자 (0) | 2023.05.10 |
콘솔 입출력 (0) | 2023.05.09 |
String 문자열 (2) | 2023.05.09 |