블로그 이미지
'무른모'란 부드럽다라는 뜻을 가진 '무르다'라는 말과 도구, 연장을 뜻하는 '연모'라는 순 우리말의 합성어로 소프트웨어를 말합니다. seanhigher

카테고리

분류 전체보기 (161)
Blog srart (16)
Dev Center (94)
Real Life (13)
Mac life (21)
Naver life (17)
Total662,015
Today10
Yesterday42
프로그래밍을 하다보면, 분기문이나 반복문들 필수적으로 사용하게 된다. 그리고, 무엇보다 반복적인 비교문의 사용은 어쩌면, 개발자로 하여금 피곤함을 느끼게 하는 대목이기도 하다. 사지선다와 같이 입력해야 할 것이 정해져 있다면... 조금은 그 수고를 덜 수 있다.


다중 if else.
if 문을 사용할때는 그 결과같의 범위를 정해주게 된다. 가령 점수를 비교한다고 하면, 100 ~ 90 점 사이는 'A', 89 ~ 80 점은 'B', 79 ~ 70 점은 'C' 와 같은 식이다. 이것은 정확한 결과값을 필요로 하지 않을때 매우 유용하게 사용할 수 있는 방법이다.


사지선다, 오지선다.
하지만, 1 ~ 4번까지의 예를 들어주고, 그중에서 정해진 하나를 선택해야 한다면 if else 문의 활용은 왠지 낭비적인 문법이 될 수가 있다. 이럴땐 switch, case 문을 사용하여 좀더 효율적인 프로그래밍을 할 수 있다. case 문은 정해진 하나의 정수형을 받으며, 그것에 대한 비교만을 할 수 있게 되어 있다. 주어진 값이 '1' 일때, '2'일때, 아니면, 'a', 'b', '+', '-' 와 같은 기호들도 가능하다. 정수형, 문자형으로만 가능하다면!


switch case 사용하기.
'1' ~ '4' 의 예중에서 하나만을 선택해야 하는 것을 if else 로 표현하면...

int a = 2;
if( a == 1) System.out.println("1 입니다");
else if( a == 2) System.out.println("2 입니다");
else if( a == 3) System.out.println("3 입니다");
else if( a == 4) System.out.println("4 입니다");
else System.out.println("잘못된 숫자입니다.");

그렇게 복잡하진 않지만, switch, case 문을 사용하는 것이 조금은 더 현명한 선택이라고 할 수 있다. 입력받는 수가 정확한 정수형이라면!

int a = 2;
switch (a)
    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;
    default :
        System.out.println("잘못된 숫자입니다.");
        break;

case 부분에는 항상 break 문이 따라오게 되어있는데, 만일 이부분을 포함하지 않는다면, 조건이 만족하는 부분 이후의 모든 것들이 실행될 것이다. 위에서 모든 break 문을 제외하면 2, 3, 4 그리고 그 외의 모든 경우의 결과가 함께 출력될 것이다.


switch, case 문을 사용할 때의 주의할점.
switch(a) 에서 a 대신에 들어갈 수 있는 것은 정수형의 데이터 이거나, char 형의 데이터 이다. 만일 'a' 의 값이 논리형이거나, 그 외의 다른 값이라면 프로그램은 오류를 일으키게 될 것이다. case 문에서는 단 하나의 값만을 사용할 수 있다. 또한 중괄호를 사용하지 않고 실행문들을 표현한다는 것이 if 비교문과의 차이점이라고 할 수 있다.

Posted by seanhigher

댓글을 달아 주세요

최근에 달린 댓글

글 보관함