[Java] 자바의 조건문과 반복문의 이해와 활용 (for, while, if, swtich)
자바의 조건문과 반복문의 이해와 활용 if / switch / for / while
안녕하세요 오늘은 자바의 조건문, 반복문에 대해서 알아볼게요 다른 언어에서도 다 비슷하게 사용해서 크게 다를 점은 없지만 사실 이 중에서 적고 싶은 흥미로운 내용이 있어서 이번 포스팅을 작성하게 되었어요 🙃
자바에서는 조건문과 반복문을 사용하여 프로그램의 흐름을 제어할 수 있습니다. 이 블로그 포스트에서는 자바의 조건문과 반복문인 if문, switch문, for문, while문에 대해 설명하고, 각각의 사용법과 예제 코드를 통해 실제 활용 방법을 알아보겠습니다. 🧐
🍊 조건문
자바에서 조건문은 프로그램의 특정 조건에 따라 다른 코드 블록을 실행하도록 하는 구문입니다. 자바에서는 주로 if문과 switch문을 사용하여 조건문을 작성합니다.
📍 if 문
- if문은 주어진 조건식의 결과에 따라 프로그램의 흐름을 분기하는데 사용됩니다.
- 조건식이 참(true)인 경우에만 해당 블록의 코드가 실행됩니다.
사용법
if (조건) {
// 조건이 참인 경우 실행되는 코드
}
사용 예제
int num = 10;
if (num > 0) {
System.out.println("양수입니다.");
} else if (num < 0) {
System.out.println("음수입니다.");
} else {
System.out.println("0입니다.");
}
📍 switch 문
- switch문은 주어진 표현식의 결과에 따라 다양한 경우를 분기하여 코드를 실행합니다.
- 표현식의 결과와 case문의 값이 일치하는 경우 해당 case문의 코드가 실행됩니다.
- break문을 사용하여 각 case문의 실행을 종료해야 합니다.
사용법
switch (변수 또는 식) {
case 값1:
// 값1과 일치하는 경우 실행되는 코드
break;
case 값2:
// 값2와 일치하는 경우 실행되는 코드
break;
// 추가적인 case 블록들
default:
// 어떤 case에도 일치하지 않는 경우 실행되는 코드
}
사용 예제
int day = 3;
String dayOfWeek;
switch (day) {
case 1:
dayOfWeek = "월요일";
break;
case 2:
dayOfWeek = "화요일";
break;
case 3:
dayOfWeek = "수요일";
break;
default:
dayOfWeek = "알 수 없는 요일";
}
System.out.println("오늘은 " + dayOfWeek + "입니다.");
🍊 반복문
자바에서 반복문은 프로그램에서 특정 코드 블록을 여러 번 실행하는 데 사용되는 구문입니다. 반복문은 특정 조건이 참인 동안 코드를 반복해서 실행하거나, 주어진 횟수만큼 코드를 반복해서 실행하는 두 가지 주요한 형태로 사용됩니다. 자바에서는 for문, while문, do-while문을 사용하여 반복문을 작성할 수 있습니다.
📍 for 문
- for문은 초기화, 조건식, 증감식을 사용하여 반복적인 작업을 수행합니다.
- 조건식이 참인 경우에만 해당 블록의 코드가 반복 실행됩니다.
사용법
for (초기화; 조건; 증감) {
// 실행될 코드
}
사용 예제
for (int i = 1; i <= 5; i++) {
System.out.println("반복문 실행: " + i);
}
🎯 Mini Quiz.
아래 두 가지 방법 중 어느 것이 더 빠를까요?
for (int i = 0; i < 100; i++) {
//
}
for (int i = 100; i > 0; i--) {
//
}
정답은
정답. 2번이 더 빠릅니다.
for문에서는 조건 부분이 중요한 역할을 하는데, 조건 부분은 for 반복할 때마다 매번 if문을 실행하는 것과 같습니다. 1번보다 2번이 빠른 이유는 조건부에서 if문으로 비교하는 대상이 0이기 때문에 훨씬 빠른 연산을 수행할 수 있는 것입니다. 1번과 같이 100보다 작은지를 판별하는 것보다 0보다 큰지를 판별하는 것이 빠르게 수행되기 때문에 2번이 더 빠릅니다.
혹자는 더하기보다 빼기의 연산이 더 복잡하기 때문에 1번이 더 빠르다고 할 수도 있습니다. 이러한 의견은 꽤나 합리적인데 컴퓨터에서 음수를 다루기 위해서는 보수를 취해야 하기 때문이죠. 하지만 그러한 점들을 다 감안하고도 2번이 빠릅니다.
사실 이 미니 퀴즈의 내용을 적고 싶어서 이번 포스팅을 작성하게 되었는데요. 아직 부족한 저한테는 이러한 것들이 무척 신선하고 새롭기 때문이에요! 컴퓨터에 대해 알면 알수록 재미있습니다 🤭
하지만 지금은 사실 컴파일러의 성능이 대폭 개선되어서 저 두 방법의 성능차이가 나는 경우는 거의 없다고 합니다. 그래도 알아두면 좋겠죠?
📍 while 문
- while문은 주어진 조건식의 결과가 참인 동안 반복적인 작업을 수행합니다.
- 조건식이 참인 경우에만 해당 블록의 코드가 반복 실행됩니다.
사용법
while (조건) {
// 실행될 코드
}
사용 예제
int count = 1;
while (count <= 5) {
System.out.println("반복문 실행: " + count);
count++;
}
🍊 마무리
조건문과 반복문은 프로그램의 흐름을 유연하게 제어할 수 있는 기능을 제공합니다. if문과 switch문은 조건에 따라 분기하여 코드를 실행하고, for문과 while문은 반복 작업을 수행합니다. 이러한 제어문을 적절히 활용하여 다양한 상황에서 원하는 로직을 구현할 수 있습니다.