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
'Java > Java SE' 카테고리의 다른 글
클래스(Class), 객체(Object), 인스턴스(Instance), 생성자(Constructor) (2) | 2013.07.30 |
---|---|
객체지향 프로그래밍 (Object-oriented Programming) (0) | 2013.07.29 |
JAVA 반복문 - for, while, do-while (0) | 2013.07.26 |
JAVA 연산자(Operator) (0) | 2013.07.23 |
JAVA 변수(variable) (0) | 2013.07.22 |