본문 바로가기

Java

[Java] 09

● 제어문

1. 조건문

(1) if문

- if~else문

if(조건식) {

조건식이참일때실행할문장;

} else {

조건식이거짓일때실행할문장;

}

 

- if~else if문

if(조건식1) {

조건식1이참일때실행되는영역;

} else if(조건식2) {

조건식1은거짓이고 조건식2가참일때실행되는영역;

} else if(조건식3) {

조건식1과조건식2거짓이고, 조건식3참일때실행되는영역;

} ... {

} else {

위에있는 조건식이 모두 거짓일때 실행되는 영역;

}

 

※ if문 vs 삼항연산자

- 모든 삼항연산자는 if문으로 바꿀 수 있으나 모든 if문은 삼항연산자로 바꿀 수 없다.

- if문을 사용했을 경우 가독성이 좋다.

- 삼항연산자를 사용했을 경우 한 줄로 작성할 수 있다.

- 간결한 코드는 삼항연산자를 활용하고, 복잡한 코드는 if문을 활용하여 가독성을 높인다.

 

※ if (조건식) 여러개 vs if~else if

- 여러개의 조건식을 반드시 한 번씩 검사를 해줘야 할 경우에는 if(조건식)을 여러개 사용하여 한 번씩 검사를 해준다.

- if문 중 위의 조건식이 거짓일때만 검사를 해야하는 경우라면 if~else if로 연결하여 불필요한 검사를 줄일 수 있다.​

 


 

​​

실습(if~else문)

1. 사용자가 입력한 값이 홀수인지 짝수인지 구별하는 프로그램 작성하기

- if문 사용

import java.util.Scanner;

public class IfTest {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("정수 입력 >> ");
		int num = sc.nextInt();
		
		if(num % 2 == 0) {
			System.out.println("짝수입니다");
		} else {
			// if문의 조건식이 거짓이라면 실행되는 영역
			System.out.println("홀수입니다");
		}
		
	}
}

 

결과

 

- 삼항연산자 사용

import java.util.Scanner;

public class IfTest {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		System.out.print("정수 입력 >> ");
		int num = sc.nextInt();

		System.out.println(num % 2 == 0 ? "짝수입니다" : "홀수입니다");
	
	}
}

 

결과

 

​​

실습(if~else if문(1))

1. 두 정수를 입력 받아서 둘 중 더 큰 수를 출력하되, 같다면 같다고 출력하기

- if문 사용

import java.util.Scanner;

public class IfTest2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("정수1 입력 >> ");
		int num1 = sc.nextInt();
		System.out.print("정수2 입력 >> ");
		int num2 = sc.nextInt();
		
		if (num1 >num2) {
			System.out.println(num1);
		} else if (num2 > num1) {
			System.out.println(num2);
		} else {
			System.out.println("같다");
		}
		
	}
}

 

결과

 

- 삼항연산자 사용

import java.util.Scanner;

public class IfTest2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("정수1 입력 >> ");
		int num1 = sc.nextInt();
		System.out.print("정수2 입력 >> ");
		int num2 = sc.nextInt();
		
		String res = (num1 > num2 ? num1 + "" : num2 > num1 ? num2 + "" : "같다");
		System.out.println(res);
		
	}
}

 

결과

 

​​

실습(if~else if문(2))

1. 사용자가 입력한 정수가 3의 배수라면 "3의 배수입니다"를, 4의 배수라면 "4의 배수입니다"를 출력하는 프로그램 작성

import java.util.Scanner;

public class IfTest3 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("정수를 입력하세요 >> ");
		int num = sc.nextInt();
		
		if (num < 10) {
			System.out.println("10보다 작은 수");
		} else if (num == 3) { 
			// num이 3이어도 위에서 조건을 만족했기 때문에 아래 코드는 출력되지 않는다.
			System.out.println("num은 3이다");
		}
		
		if (num % 3 == 0) {
			System.out.println("3의 배수입니다");
		} else if (num % 4 == 0) {
			System.out.println("4의 배수입니다");
		} // else는 선택사항
		
	}
}

 

결과(3의 배수)

 

결과(4의 배수)

 

결과(10보다 작으면서 3의 배수)

 

'Java' 카테고리의 다른 글

[Java] 11  (0) 2021.12.28
[Java] 10  (0) 2021.12.27
[Java] 08  (0) 2021.12.22
[Java] 07  (0) 2021.12.20
[Java] 06  (0) 2021.12.19