1. 조건문 - if, switch

- 조건문은 조건식과 실행될 하나의 문장 또는 블럭 {}으로 구성

- Java에서 조건문은 if문과 switch문 두 가지 뿐이다.

- if문이 주로 사용되고, 경우의 수가 많은 경우 switch문을 사용할 것을 고려한다.

- 모든 switch문은 if문으로 변경이 가능하지만, if문은 switch문으로 변경 할 수 없는 경우가 많다.


2. if문

- if, if-else, if-else if 의 세가지 형태가 있다.

- 조건식의 결과는 반드시 true 또는 false이어야 한다.

- if문 안에 또 다른 if 문을 중첩해서 넣을 수 있다.

- if문의 중첩횟수에는 거의 제한이 없다.


3. switch문

- if문의 조건식과 달리, 조건식의 계산결과가 int범위 이하의 정수만 가능

- 조건식의 계산결과와 일치하는 case문으로 이동 후 break문을 만날 때까지 문장들을 수행한다.

- 일치하는 case문의 값이 없는 경우 default문으로 이동한다. (생략 가능)

- case문의 값으로 변수를 사용할 수 없다. (리터럴, 상수만 가능)

- switch문 안에 또 다른 switch문을 중첩해서 넣을 수 있다.

- switch문의 중첩횟수에는 거의 제한이 없다.


/*
 * 조건문은 조건식과 문장을 포함하는 블럭으로 구성되어 있다.
 */

package com.tistory.gangzzang;

import java.util.Scanner;

public class If_Switch {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		// 1. IF 문 - IF(조건식) 조건식이 참일 경우 {} 안에 내용을 실행한다. else if  동일, else 는 그외의 경우를 실행한다.
		System.out.println("세가지의 수를 입력받아 가장 큰 수를 찾으세요\n");

		int temp, bignum;
		
		System.out.print("첫 번째 정수를 입력하세요 : ");
		int num1 = sc.nextInt();

		System.out.print("두 번째 정수를 입력하세요 : ");
		int num2 = sc.nextInt();

		System.out.print("세 번째 정수를 입력하세요 : ");
		int num3 = sc.nextInt();

		if (num1 >= num2) {
			temp = num1;
		} else {
			temp = num2;
		} // if

		if (temp >= num3) {
			bignum = temp;
		} else {
			bignum = num3;
		} // if

		System.out.println("입력 된 3가지의 정수 중 가장 큰 수는 " + bignum + " 입니다.");
		System.out.println();

		
		// 2. switch 문 - switch (조건식) 조건식의 값이 case에 값과 동일한 경우를 실행한다.
		System.out.print("계절을 알고싶은 월을 입력하세요 : ");
		int month = sc.nextInt();

		switch (month) {
		case 3:
			System.out.println(month + "월은 봄입니다.");
			break;
		case 4:
			System.out.println(month + "월은 봄입니다.");
			break;
		case 5:
			System.out.println(month + "월은 봄입니다.");
			break;
		case 6:
			System.out.println(month + "월은 여름입니다.");
			break;
		case 7:
			System.out.println(month + "월은 여름입니다.");
			break;
		case 8:
			System.out.println(month + "월은 여름입니다.");
			break;
		case 9:
			System.out.println(month + "월은 가을입니다.");
			break;
		case 10:
			System.out.println(month + "월은 가을입니다.");
			break;
		case 11:
			System.out.println(month + "월은 가을입니다.");
			break;
		case 12:
			System.out.println(month + "월은 겨울입니다.");
			break;
		case 1:
			System.out.println(month + "월은 겨울입니다.");
			break;
		case 2:
			System.out.println(month + "월은 겨울입니다.");
			break;

		default:
			System.out.print("계절을 알고싶은 월을 1~12월 사이로 입력하세요 : ");
			month = sc.nextInt();
			break;
		} // switch

	} // main

} // If_Switch


+ Recent posts