공부/Java

[Java] 조건문 정리 (비전공자 관점의 if문·중첩 if문)

ByeongJun 2023. 3. 30. 09:28
반응형

if문은 조건식의 결과에 따라 블록 실행 여부가 결정된다.

조건식에는 true 또는 false 값을 산출할 수 있는 연산식이나 boolean 변수가 올 수 있다.

 

public class study {
	public static void main(String[] args) {

		int score = 95;   // 성적이 90점 이상일 경우 합격

		if(score >= 90) {
			System.out.println(score + "점은 합격입니다.");
		}else {
			System.out.println(score + "점은 불합격입니다.");
		}
	}
}
// [실행 결과] 95점은 합격입니다.

 


 

조건문이 여러 개인 if문도 당연히 존재하는데

else if는 상위 조건식이 false일 경우 평가되고, else if가 true이면 해당 블록이 실행된다.

else if의 수는 제한이 없으며 여러 개의 조건식 중 true가 되는 else if 블록만 실행하고 전체 if문을 벗어난다. 

 

마지막에는 else 블록을 추가할 수 있는데, 모든 조건식이 false일 경우 else 블록을 실행하고 if문을 벗어난다.

출처 : <이것이 자바다(개정판)>

package packageName;
public class study {
	public static void main(String[] args) {

		int score = 75;

		if(score >= 90) {
			System.out.println("A등급입니다.");
		}else if(score >= 80) {
			System.out.println("B등급입니다.");
		}else {
			System.out.println("불합격입니다.");
		}
	}
}
// [실행 결과] 불합격입니다.

 


중첩 if문

if문의 블록 내부에는 또 다른 if문을 사용할 수 있는데 이것을 중첩 if문이라고 부른다.

실제 프로그램에서는 여러 단계로 중첩되는 경우가 많기 때문에 코드의 실행 흐름을 이해하는 것이 중요하다. 

그래야 프로그램 작성은 물론이고 이미 작성된 프로그램 분석이 수월하기 때문이다. 

 

package Study;
public class study {
	public static void main(String[] args) {

		int score = 70;

		if(score >= 80) {
			if(score >= 90) {
				System.out.println("무조건 합격입니다.");

			}else {
				System.out.println("합격입니다.");
			}
		}else {
			System.out.println("불합격입니다.");	
		}

	}
}
// [실행 결과] 불합격입니다.

 

일할 때 이렇게 작성하면 무조건 욕 먹겠지만, 조금 이해하기 쉬울 것 같아서 표시해봤다. 

 

비전공자 입장에서는 이렇게까지 친절히 알려주는 사람이 없어서 힘들었던 기억이 난다. 

모르는 내용을 물어보면 개발자들은 모두 친절하게 답해준다고 생각하는 편인데 

너무 간단한 내용인지라 차마 물어보기 힘든 내용이었다. 

 

여기서 전하고 싶은 말은 { } 중괄호를 헷갈리지 말자!

 

반응형