3.1 조건문
Java 언어에서는 특정 조건에 따라 수행할 작업을 결정하는 조건문을 제공합니다. Java 언어에서 제공하는 조건문은 특정 조건이 참일 때 수행할 작업을 표현하는 if 문과 특정 조건이 참일 때 수행할 작업과 거짓일 때 수행할 작업을 표현하는 if else 문을 제공합니다.
if(조건 statement) 참일 때 수행하는 statement;
if(조건 statement) 참일 때 수행하는 statement; else 거짓일 때 수행하는 statement;
먼저 특정 조건이 참일 때 수행하는 if문을 살펴봅시다. else가 없는 if문은 조건식이 참일때 수행하는 구문만 정의합니다. 주의할 점은 if문 뒤에 오는 하나의 구문만 if문에 속하므로 참일 때 수행할 구문이 여러 개가 있으면 블록({로 시작해서 }로 끝)을 사용하세요.
다음은 블록을 사용하지 않았을 때의 예제 코드 및 실행 결과입니다. [소스 3.1]
private static void exIf1() { int num; System.out.println("정수를 입력하세요."); num = scanner.nextInt(); if((num%2)==0) System.out.println(num+"은 짝수"); System.out.println("입력받은 수:"+num); }
홀수 입력 결과
정수를 입력하세요. 23 입력받은 수:23
짝수 입력 결과
정수를 입력하세요. 24 24은 짝수 입력받은 수:24
다음은 블록을 사용하였을 때의 예제 코드 및 실행 결과입니다. [소스 3.2]
private static void exIf2() { int num; System.out.println("정수를 입력하세요."); num = scanner.nextInt(); if((num%2)==0){ System.out.println(num+"은 짝수"); System.out.println("입력받은 수:"+num); } }
홀수 입력 결과
정수를 입력하세요. 23
짝수 입력 결과
정수를 입력하세요. 24 24은 짝수 입력받은 수:24
[소스 3.1]과 [소스 3.2]를 비교하면 블록을 사용하지 않은 [소스 3.1]에서는 입력받은 수가 얼마인지 출력하는 구문은 조건식이 참이든 거짓이든 수행합니다.
따라서 [소스 3.1]에서는 System.out.println(num+”은 짝수”); 구문은 if 조건식이 참일 때수행하는 구문이만 System.out.println(“입력받은 수:”+num); 구문은 if 문과 관계없는 구문입니다.
반면 [소스 3.2]에서는 블록 문법을 이용하여 System.out.println(num+”은 짝수”); 구문과 System.out.println(“입력받은 수:”+num); 구문을 작성하였기 때문에 블록 내부에 있는 두 개의 구문이 조건식이 참일 때 수행합니다.
또한 Java 언어에서는 조건식이 참일 때 수행하는 구문과 거짓일 때 수행하는 구문을 결정할 수 있게 if else 문법을 제공하고 있습니다.
if else 문법도 if 조건식 뒤에 하나의 구문만 참일 때 수행하는 구문이고 else 가 바로 뒤에 오면 else 뒤에 하나의 구문만 거짓일 때 수행하는 구문입니다. 마찬가지로 조건식이 참이거나 거짓일 때 수행할 구문이 여러 개가 있다면 블록을 이용하세요.
if else 를 사용한 예제 코드 및 실행 결과 [소스 3.3]
private static void exIfelse() { int num; System.out.println("정수를 입력하세요."); num = scanner.nextInt(); if((num%2)==0){ System.out.println(num+"은 짝수"); } else{ System.out.println(num+"은 홀수"); } }
홀수 입력 예
정수를 입력하세요. 23 23은 홀수
짝수 입력 예
정수를 입력하세요. 24 24은 짝수