[Java] 자바 #12 자바 조건문(if문, switch문)
- 프로그래밍 언어/Java
- 2019. 2. 6. 10:51
조건문(if, switch)
서론
프로그램 코드의 실행 순서를 제어할 수 있는 구문들...
1. 조건문
a. if문
b. switch문(switch case문)
2. 반복문
a. for문
b. while문
c. do-while문
d. for(Enhanced for, 향상된 포문 -> forEach문)
3. 분기문
a. break;
b. continue;
if문
-조건을 제시한 후 결과에 따라 실행할 코드를 선택.
-조건은 반드시 boolean값을 가진다.
-A ? B : C와 유사함. (삼항연산자)
[case1]
if( 조건식 ){
실행문 구현코드
}//if block
[case2]
if( 조건식 ){
실행문 구현코드
}else{
실행문 구현코드
}
[case3] : if문안에 if문이 또 올수있다 : 중첩조건.
if( 조건식 ){
if(조건식){
실행문 구현 코드
}
실행문 구현코드
}else if{
실행문 구현코드
}else{
실행문 구현코드
}
첫번째 예제
- 문자 1개를 입력하면 if문을 통해서 해당 문자의 정보를 출력하라
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public static void m3(BufferedReader reader)throws Exception{ //문자 1개 입력 -> 영소문자?대문자? System.out.print("문자 : "); String input = reader.readLine(); char charInput = input.charAt(0); if('a'<=charInput && charInput <='z') System.out.println("소문자입니다."); else if('A'<=charInput && charInput <='Z') System.out.println("대문자입니다."); else if('0'<=charInput && charInput <='9') System.out.println("통과"); if('가'<=charInput && charInput <='힣') System.out.println("한글입니다."); if(('a'<=charInput && charInput <='z') || ('A'<=charInput && charInput <='Z') || ('0'<=charInput && charInput <='9') || ('가'<=charInput && charInput <='힣') ) System.out.println("문자입니다."); else System.out.println("특수문자입니다."); System.out.println(charInput); } | cs |
switch문
switch(조건){
case 값:
실행코드;
break;
[case 값:
실행코드;
break;] x n
[default:
실행코드;
break;]
}
- switch 문은 괄호() 안의 조건문에 boolean(참, 거짓) 형 데이터 보다는 숫자데이터의 분기를 수행한다. boolean형 데이터가 오면 컴파일 에러!!
간단예제
int n = 2;
//조건값, data, not just boolean
switch(n){
case 1:
System.out.println("하나");
break;
case 2:
System.out.println("둘");
break;
default:
System.out.println("그외");
break;
}
String 예제
String color = "white";
switch(color){
case "red": //case 값: <- Label
System.out.println("빨강");
break;
case "yellow":
System.out.println("노랑");
break;
case "blue":
System.out.println("파랑");
break;
default:
System.out.println("하양");
break;
}
<컴파일 에러!!!>
- 원래 switch문은 정수값만 사용가능하게 만들었음.
boolean flag = true;
switch(flag){
case true:
System.out.println("참");
break;
case false:
System.out.println("거짓");
break;
}
자동판매기 or 카메라 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | public static void m3(BufferedReader reader)throws Exception{ //자동판매기 System.out.println("================================"); System.out.println("자판기"); System.out.println("================================"); System.out.println("1. 콜라 | 2. 사이다 | 3. 비타500"); System.out.println("================================"); System.out.print("음료 선택(번호) : "); String num = reader.readLine(); switch(num){ case "1": //System.out.println("700원"); //break; case "2": System.out.println("600원"); break; case "3": System.out.println("500원"); break; default: System.out.println("\"정보 없음\""); break; } //쇼핑몰 + 옵션 선택 //1. 카메라 + 메모리 + 삼각대 //2. 카메라 + 메모리 //3. 카메라 int option = 1; switch(option){ case 1: System.out.println("카메라"); System.out.println("메모리"); System.out.println("삼각대"); break; case 2: System.out.println("카메라"); System.out.println("메모리"); break; case 3: System.out.println("카메라"); break; } } | cs |
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java] 자바 #14 반복문 (2) -while, do-while문 (0) | 2019.02.10 |
---|---|
[Java] 자바 #13 반복문(1) - for문(break,continue) (0) | 2019.02.10 |
[Java] 자바 #11 Date, Calendar 클래스 (0) | 2019.02.05 |
[Java] 자바 #10 재귀메소드(feat. factorial,최대공약수,최대공배수) (0) | 2019.02.04 |
[Java] 자바 #9 메소드, 메서드(Method) (0) | 2019.02.03 |