'Java 독학하기-(7) 자바의 '조건문'에 대해 알아보기'
저번 '형 변환'과 '연산자'에 대해 알아본 것에 이어 이번에는 프로그래밍에서 빠져서는 안 될 '조건문'에 대해 알아보려고 합니다. 사실 '조건문' 자체는 자바 언어에서 뿐만 아니라 다른 프로그래밍 언어에서도 상당히 비슷하게 사용되기 때문에 잘 알아놓으면 앞으로 유용하게 사용할 수 있을 것 같습니다. 그럼 이제 자바에서의 '조건문'에 대해 알아보도록 하겠습니다.
'조건문'이란 말 그대로 조건에 부합하면 명령을 실행하고 그렇지 않다면 실행되지 않게 합니다. 대표적인 조건문의 형식으로는 if문과 switch문이 있습니다. 그럼 차근차근 알아가보도록 하겠습니다.
우선 if-else문에 대해 알아보도록 하겠습니다. 아마 가장 보편적으로 알고 있는 조건문의 형식이지 않을까 싶은데요, if문의 형식을 나타내보면 다음과 같습니다.
if (조건식) {
수행문;
}
else {
수행문;
}
조건문을 if문을 통해 선언하고 괄호 안의 조건식의 조건에 '참'일 경우 중괄호 안의 수행문을 실행하게 됩니다.
그리고 if-else문은 첫번째 if문의 조건식에 부합하지 않을 경우, 그 다음으로 else문의 수행문을 실행하게 됩니다. 그렇기 때문에 else문은 if문이 '거짓'일 경우에 모두 해당하므로 조건식을 적지 않아도 됩니다.
package ifexample;
public class IfExample1 {
public static void main(String[] args) {
int age = 8;
if(age >= 7)
{
System.out.println("학교에 다닙니다.");
}
else
{
System.out.println("학교에 다니지 않습니다.");
}
}
}
if-else문을 이용해 간단한 예제를 만들어보았습니다. 이 코드 그대로 실행하면 변수 age 값이 8이므로 if문의 조건식에 '참'이 되므로 '학교에 다닙니다.'라고 출력되게 됩니다.
다음으로 if-else if-else문에 대해 알아보도록 하겠습니다. 방금 알아본 if-else문에 비해서 여러 조건들을 추가할 수 있는 else if가 추가되었다는 것이 차이점입니다.
if (조건식) {
수행문;
}
else if (조건식) {
수행문;
}
else if (조건식) {
수행문;
}
*
*
*
else {
수행문;
}
덕분에 if문이 '거짓'이여도 다음 else if문의 조건식의 참, 거짓을 판별할 수 있게 되면서 조건식에 따른 명령을 더 세분화 시킬 수 있습니다. 그리고 if문 이후 else if문은 여러 번 사용할 수 있습니다.
또한 if-else if-else문에서는 하나의 조건식이 '참'이 되면 그 이후의 조건은 비교하지 않는다는 특징이 있습니다.
package ifexample;
public class IfExample2 {
public static void main(String[] args) {
int age = 67;
int charge;
if (age < 8) {
charge = 1000;
System.out.println("취학 전 아동입니다.");
}
else if(age < 14) {
charge = 2000;
System.out.println("초등학생입니다.");
}
else if (age < 20) {
charge = 2500;
System.out.println("중, 고등학생입니다.");
}
else if (age > 60) {
charge = 0;
System.out.println("경로 우대입니다.");
}
else {
charge = 3000;
System.out.println("일반인입니다.");
}
System.out.println("입장료는" + charge + "원입니다.");
}
}
if-else if-else문을 이용해 나이에 따른 버스 요금 금액 산정 프로그램 코드를 짜보았습니다. 변수 age 값이 67이므로 else if문의 조건식 age > 60에 해당하는 명령문이 실행되므로 '경로 우대입니다.'가 출력되는 모습을 볼 수 있겠습니다.
마지막으로 switch-case문에 대해 알아보겠습니다. switch-case문은 특정 범위보다는 정수 혹은 문자열 값으로 딱 떨어지는 경우에 사용하면 훨씬 좋다는 장점이 있습니다. 또한 case문에는 중괄호 { }을 각각의 조건마다 사용하지 않아도 됩니다.
switch(변수) {
case 1 : 명령문;
break;
case 2 : 명령문;
break;
*
*
*
default : 명령문;
}
switch-case문에서는 else문과 같은 역할을 하는 것이 바로 default문입니다. 하지만 switch-case문에서 default문은 생략도 가능합니다. 그리고 각 조건에 따라 case문의 명령이 실행되고 난 후에는 break문을 통해 swtich문에서 빠져나오게 됩니다.
package ifexample;
public class SwitchCase {
public static void main(String[] args) {
int ranking = 1;
char medalColor;
switch(ranking) {
case 1 : medalColor = 'Gold';
break;
case 2 : medalColor = 'Silver';
break;
case 3 : medalColor = 'Bronze';
break;
default : medalColor = 'None';
}
System.out.println(ranking + "등 메달의 색깔은 " + medalColor + " 입니다.");
}
}
위는 변수 ranking 값에 의해 금, 은, 동 메달 색이 정해지고 default문을 통해 그 외 등수에는 'None'이라고 메달이 없음을 표시합니다. 위 코드에서는 변수 ranking 값이 1이므로 '1등 메달의 색깔은 Gold입니다.'라고 출력되겠네요.
package ifexample;
public class SwitchCase2 {
public static void main(String[] args) {
String medal = "Gold";
switch(medal) {
case "Gold" :
System.out.println("금메달입니다.");
break;
case "Silver" :
System.out.println("은메달입니다.");
break;
case "Bronze" :
System.out.println("동메달입니다.");
break;
default :
System.out.println("메달이 없습니다.");
break;
}
}
}
그리고 switch-case문에서 조건 비교에서 문자열도 사용이 가능하다고 소개했었는데요(자바 7부터 지원), 그래서 문자열 조건식을 이용한 간단한 예시도 만들어보았습니다. 문자형 변수 medal 값이 "Gold"이므로 출력 결과는 '금메달입니다.'가 되겠습니다.
![]() |
|
이렇게 자바 언어에서 사용되는 '조건문' if-else문, if-else if-else문, switch-case문에 대해 알아보았습니다. 다음 글에서는 조건문과 함께 세트라고 볼 수 있는 반복문에 대해 알아볼 예정입니다. 앞으로 저만의 프로젝트도 진행해보고 싶은데 시간 날 때에 틈틈히 계속 공부해야겠네요.^^
추천하는 글
ABKO APC930 QHD 웹캠 구입 및 개봉기, 간단 사용 후기까지
'ABKO APC930 QHD 웹캠 구입 및 개봉기, 간단 사용 후기까지' 요즘 코로나 바이러스로 인해 비대면 방식의 수업 및 회의가 거의 진행되고 있는데요, 이때 꼭 필요한 장비로 웹캠을 꼽을 수 있습
anywhereifyoucan.com
티스토리 ~.tistory.com에서 2차 도메인으로 바로 연결되게 하는 방법은?
'티스토리 ~.tistory.com에서 2차 도메인으로 바로 연결되게 하는 방법은? 제 블로그는 거의 시작 초기부터 따로 도메인을 구입하여 2차 도메인으로 설정해놓았기 때문에 ~.tistory.com이 아닌 ~.com으로
anywhereifyoucan.com
'프로그래밍(코딩) > JAVA(이클립스)' 카테고리의 다른 글
Java 독학하기-(9) 자바 언어의 continue문, break문에 대해 알아보기 (0) | 2021.01.19 |
---|---|
Java 독학하기-(8) 자바 언어의 '반복문'에 대해 알아보기 (0) | 2021.01.16 |
Java 독학하기-(7) 자바 언어의 '조건문'에 대해 알아보기 (0) | 2021.01.10 |
Java 독학하기-(6) 자바 언어의 '형 변환'과 '연산자'에 대해 알아보기 (0) | 2020.12.28 |
Java 독학하기-(5) 자바 언어의 '상수와 리터럴' 알아보기 (0) | 2020.09.28 |
Java 독학하기-(4) 자바 언어에서 중요한 '기본 자료형' 알아보기 (0) | 2020.04.05 |