본문 바로가기

Java/Java

제어문_조건문

1. 조건문이란?

조건문은 특정 조건에 따라 다른 명령문을 작동시키기 위해 사용된다. 

조건문의 종류로는 if문, switch문이 있다.

 

 

2. if문

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

if문의 조건식에는 연산식, boolean 타입 변수, 논리값이 올 수 있다.

조건식의 논리값이 true일 경우, 블록 내부 명령문이 실행되며, false일 경우 실행되지 않는다.

public class IfExample {

	public static void main(String[] args) {
		int score = 93;
		
		if(score >= 90) {
			System.out.println("점수가 90보다 큽니다.");
			System.out.println("등급은 A입니다.");
		}

		if(score < 90) { // 조건식 값이 false 이므로 중괄호 블록 안의 명령문이 실행되지 않음.
			System.out.println("점수가 90보다 작습니다."); 
			System.out.println("등급은 B입니다."); 
		}
	}

}

 

if-else문은 조건식의 결과에 따라 다른 블록의 명령문이 실행되도록 제어할 수 있다.

조건식 논리값이 true일 경우 if 블록의 명령문이 실행되며, false일 경우 else 블록의 명령문이 실행된다.

public class ifElseExample {

	public static void main(String[] args) {
		int score = 85;
		
		if(score >= 90) { //조건식 값이 false이므로 해당 중괄호는 실행 X.
			System.out.println("점수가 90보다 큽니다.");
			System.out.println("등급은 A입니다.");
		} else { //조건식 값이 false이므로 해당 중괄호가 실행.
			System.out.println("점수가 90보다 작습니다.");
			System.out.println("등급은 B입니다.");
		}

	}

}

 

if-else if-else문은 사용해야하는 조건문이 여러 개일 경우 사용한다. 

첫 조건식은 if로 시작하며, 그 뒤의 추가 조건식은 else if로 연결해준다.

그리고 마지막에는 else문을 추가하여 여러 조건식의 논리값이 모두 false일 경우에 대한 실행 명령을 설정할 수 있다.

true인 조건식이 여러 개일 경우, 첫번째 조건식에 대한 블록이 실행되며, 전체 조건문이 종료된다.

public class IfElseIfElseExample {

	public static void main(String[] args) {
		int score = 85;
		
		// true인 조건식에 대한 중괄호를 실행한 후 조건문 종료. true 조건식이 없는 경우 else 중괄호 실행.
		if(score >= 90) {
			System.out.println("점수가 100~90입니다.");
			System.out.println("등급은 A입니다.");
		} else if(score >= 80) {
			System.out.println("점수가 80~89입니다.");
			System.out.println("등급은 B입니다.");
		} else if(score >= 70) {
			System.out.println("점수가 70~79입니다.");
			System.out.println("등급은 C입니다.");
		} else {
			System.out.println("점수가 70미만 입니다.");
			System.out.println("등급은 D입니다.");
		}

	}

}

 

 

3. switch문

조건식의 논리값에 따라 명령문의 실행을 제어하는 if문과 달리, switch문은 변수의 값에 따라 명령문의 실행을 제어한다.

switch문은 switch문 조건변수의 값과 동일한 값을 가진 case에 대한 명령문을 실행한다. 

만약 조건변수와 동일한 값을 가진 case가 없을 경우, default로 이동하여 명령문을 실행한다.

default는 생략가능하다.

 

한가지 주의할 점은 각 case의 끝에 break를 작성해야한다는 것이다. 

이것은 switch문을 종료하기 위한 것으로, 만약 실행된 case에 break가 없다면 그 아래에 작성된 case들이 값과 상관없이 실행된다.

public class SwichExample {

	public static void main(String[] args) {
		int num = (int) (Math.random() * 6) + 1;
		
		switch(num) {
			case 1:
				System.out.println("1이 나왔습니다.");
				break;
				
			case 2:
				System.out.println("2가 나왔습니다.");
				break;
				
			case 3:
				System.out.println("3이 나왔습니다.");
				break;
				
			case 4:
				System.out.println("4가 나왔습니다.");
				break;
				
			case 5:
				System.out.println("5가 나왔습니다.");
				break;
				
			default:
				System.out.println("6이 나왔습니다.");
				break;
		}

	}

}

 

출처: 혼자 공부하는 자바(신용권)

'Java > Java' 카테고리의 다른 글

참조타입, 참조변수  (0) 2021.10.11
제어문_반복문  (0) 2021.10.01
연산자  (0) 2021.09.19
타입 변환  (0) 2021.09.14
메모리, 변수  (0) 2021.07.06