[JAVA] 조건문

오태영·2024년 7월 9일

우리가 코딩할 때 항상 조건을 만들어서 조건에 부합되는 경우만을 통과하게 해야 하는 경우가 종종 생깁니다.

예를 들자면 어떤 값을 입력받아 음수인지, 양수인지 확인해야 하는 문제 같은 것이다. 이런 때에는 조건문을 사용하면 간단하게 해결이 가능합니다.

그럼 조건문이란 무엇일까?

조건문 : 프로그램 수행 흐름을 바꾸는 역할을 하는 제어문 중 하나로 조건에 따라 다른 문장이 수행되도록 한다.

조건문의 종류

조건문의 종류로는 if문과 switch문으로 나뉩니다. if문과 switch문은 각각의 특징을 하나하나 알아보도록 하겠습니다.

if - else문

if문은 조건식의 결과가 true이면 if문 안의 내용을 실행하고 false이면 else문 안의 내용을 실행하는 문장입니다.

if문 기본 형식

if(조건식) {						
	내용						
}
else {
	내용
}

예시로는 아래와 같이 사용할 수 있습니다.

int a = 5, b = 3;
if(a > b) {									// 조건문의 결과가 true이므로 
	System.out.println("a가 b보다 크다.");	// "a가 b보다 크다."가 출력
}
else {
	System.out.println("b가 a보다 크다.");
}

이때 조건이 여러 개일 경우, else if문을 추가하여 조건을 추가한다. else if는 원하는 만큼 추가가 가능합니다.

점수에 따라 등급을 출력하는 프로그램을 만든다고 했을 때 아래와 같습니다.
A = 100 ~ 90
B = 89 ~ 80
C = 79 ~ 70
D = 69 ~ 60
F = 59 ~ 0

int score = 65;
if(90 <= score) {
	System.out.println("A 등급");	
}
else if(80 <= score) {
	System.out.println("B 등급");
}
else if(70 <= score) {
	System.out.println("C 등급");
}
else if(60 <= score) {
	System.out.println("D 등급");
}
else {
	System.out.println("F 등급");
}

이곳에서 알아두어야 할 점은 if문에서 90 <= score이라는 조건이 만족했으므로,
첫 번째 else if문의 조건은 80 <= score && score <= 90과 같은 의미입니다.

if문은 당연하게도 중첩이 가능합니다. 이것을 중첩 if문이라고 합니다.

중첩 if문 기본형식

if(조건식) {
	if(조건식){
    	if(조건식){
        	내용
        }
    }
}

switch

다음은 switch문입니다. switch문은 조건식 하나로 많은 경우의 수를 처리할 때 사용되며 이때 조건식의 결과는 정수 또는 문자, 문자열이 들어가게 됩니다.

조건식의 결과값과 일치하는 case문으로 이동하고 해당하지 않으면 default문으로 이동되게 됩니다.

switch문 기본형식

switch(number) {
case 1: 내용
case 2: 내용
case 3: 내용
default : 내용
}

이를 이용해서 번호를 누르면 해당하는 안내 문자를 띄우는 프로그램을 제작해 보겠습니다.

Scanner sc = new Scanner(System.in);
int num;
System.out.print("번호 : ");
num = sc.nextInt();
switch(num) {
case 1:	
	System.out.println("전화");
	break;
case 2: 
	System.out.println("문자");
	break;
case 3: 
	System.out.println("사진");
	break;
case 4: 
	System.out.println("동영상");
	break;
default : 
	System.out.println("잘못 누르셨습니다.");
	break;
}

위와 같이 만들 수 있는데요. 이때 break;의 역할이 중요합니다.
break란 해당 조건문에서 강제로 탈출하게 하는 구문입니다.

만약 break를 사용하지 않는다면 아래와 같이 입력받은 번호부터 마지막까지 탈출하지 않고 시행하게 됩니다.

profile
개발자 지망생

0개의 댓글