본문 바로가기

프로그래밍(코딩)/JAVA(이클립스)

Java 독학하기-(7) 자바 언어의 '조건문'에 대해 알아보기

반응형

'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"이므로 출력 결과는 '금메달입니다.'가 되겠습니다.

 

 


 

 

Do it! 자바 프로그래밍 입문
국내도서
저자 : 박은종
출판 : 이지스퍼블리싱 2018.08.06
상세보기

 

이렇게 자바 언어에서 사용되는 '조건문' 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

 

반응형