JAVA

조건문if /switch문

jojelly 2020. 8. 12. 12:30
반응형

제어문은 1.조건문 2.반복문 이 있다.

 

1.조건문은 

- if문

- switch문이 있다


if 문 

 

if문에 대하여 알아보겠다.

if문은 기본적으로

 

if(조건식){
  실행할 문장
 위의 조건식에 상관없이 모두 검사
 }

인데 이를 위에서 만든 퀴즈로 대입해 본다면,

if(answer){
  result
 } 

이다 .

 

그리고 if가 3가지가 나오는 경우 모든 식을 조건식에 상관없이 검사하게 된다. 


 if(조건식){
  실행할 문장
 위의 조건식에 상관없이 모두 검사
 }if(조건식){
  실행할 문장
 }if(조건식){
  실행할 문장
 }

 

ex.)숫자를 1-10까지 중에 맞추기를 한다고 예를들어보겠다. 답이 1일 경우 if문은 1이라는 답을 다 찾아도 계속해서 2~10까지 검사를 하기 때문에 비효율 적이다.

 

그러나 ex.)밥 먹었니? 네 , 양치했니? 아니요, 공부했니? 같이 계속 물어봐야하는경우 사용한다. 

 

 

 

 

else가 들어가면 if조건문이 참이면 아래 식을 검사하지 않지만 거짓이면 다음 식을 검사하게 된다. 


 if(조건식){
  실행할 문장
 위의 조건식이 거짓일 때만 검사
 참일 때에는 검사 안함.
 }else if(조건식){
  실행할 문장
 }else{
  실행할 문장
 }

 

중첩 if문

중첩if 문이란 if문 블럭내에 또 다른 if문을 포함시키는 것,

중첩의 횟수는 제한이 없다. 단, {}괄호 생략에 조심해야한다.  중첩을 하면서 엉킬수 있기때문이다. 그러니 {}를 사용하는 습관을 들이는것이 좋다. !

 

​ex.if 문은 정답인걸 찾게되면 멈추게 하는 등의 식에는  효율적이다. 그러나 밥 먹었니? 공부했니? 같은 식을 만들때는 비 효율적이다. 

 

 

조건문 (switch문)


switch(변수명){
case 값 :
case 값 :
...
default :
}

 

if문은 경우의 수가 많아지면 else if를 계속해서 추가해야해서 복잡해지고 처리시간도 오래걸린다.

그러나switch문은 단 하나의 조건식으로 많은 경우의 수를 처리할 수 있고 간결하다. 

 

 

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
package Homework;
 
public class T_story_switch {
 
    public static void main(String[] args) {
        int choice = 3;
        
        switch (choice) {
            case 1
                System.out.println("1번");        
            break;        
            case 2:
                System.out.println("2번");            
            break;        
            case 3:
                System.out.println("3번");            
            break;        
            case 4:
                System.out.println("4번");            
            break;
 
        defaultSystem.out.println("잘못된 선택이다.");
            break;
        }
    }
}
 
cs

예제를 만들어보았다 선택값을 3으로 하고 나타내었다.

 

1.switch문은 조건식을 먼저 계산후

2.결과와 일치하는 case문으로 이동한다.

3.이후 casea문의  문장을 수행하며 beak; 를 만나면 swtch문을 빠져나가 버린다. 

4.그리고 결과가 일치하는 case문이 없으면 deafalt문으로 가서 defalt문의 문장을 수행한다. 

 

결과는 3번 이 호출이 된다. 

반응형

'JAVA' 카테고리의 다른 글

배열1 /선언/생성/길이/인덱스/초기화  (0) 2020.08.14
for문 while문  (0) 2020.08.13
연산자  (0) 2020.08.11
개념정리 간단히  (0) 2020.08.10
내부클래스 /캡슐화  (0) 2020.08.07