상세 컨텐츠

본문 제목

IF VS CASE 비교

프로그램 언어/Java

by husks 2014. 3. 7. 10:39

본문

반응형

 

그동안 개발시에 취향상 if문을 자주 썼는데 갑자기 case문과 비교 하고 싶어서 테스트 하였습니다.

C언어에서는 차이가 있다고 하는데 java에서는 별로 차이가 없는 듯 합니다. 테스트 방식이 문제가 있다면 말씀하여 주시기 바랍니다.

package test;
 
public class IfVsSwitchTest {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
 
        int a = 1;
 
        long startTime = System.currentTimeMillis();
 
        for(int i=0;i<1000000;i++){
            switch(a){
            case 2:System.out.println("a is 2");break;
            case 3:System.out.println("a is 3");break;
            case 4:System.out.println("a is 4");break;
            case 5:System.out.println("a is 5");break;
            case 6:System.out.println("a is 6");break;
            case 7:System.out.println("a is 7");break;
            case 1:System.out.println("a is 1");break;
            default: System.out.println("a is error");
            }
        }
 
        long endTime = System.currentTimeMillis();
        
        String first_time = "##  case 소요시간(초.0f) : " + ( endTime - startTime )/1000.0f +"초";
 
        startTime = System.currentTimeMillis();
 
        for(int i=0;i<1000000;i++){
 
            if(a==2){
                System.out.println("a is 2");
            }else if(a==3){
                System.out.println("a is 3");
            }else if(a==4){
                System.out.println("a is 4");
            }else if(a==5){
                System.out.println("a is 5");
            }else if(a==6){
                System.out.println("a is 6");
            }else if(a==7){
                System.out.println("a is 7");
            }else if(a==1){
                System.out.println("a is 1");
            }else{
                System.out.println("a is error");
            }
 
        }
 
        endTime = System.currentTimeMillis();
 
        System.out.println(first_time); 
        System.out.println("##  if 소요시간(초.0f) : " + ( endTime - startTime )/1000.0f +"초"); 
        
        /*
        1.
        ##  case 소요시간(초.0f) : 6.357초
        ##  if 소요시간(초.0f) : 6.631초
        2.
        ##  case 소요시간(초.0f) : 6.428초
        ##  if 소요시간(초.0f) : 6.548초
        3.
        ##  case 소요시간(초.0f) : 6.425초
        ##  if 소요시간(초.0f) : 6.354초
        
        */
 
 
    }
 
}
 

 

반응형

관련글 더보기

댓글 영역