다루두루

블로그 이미지

차케요

공부하면서 정리하는 노트같은 블로그입니다.

[JAVA] 자바 switch~case~break

[JAVA]자바 공부하기 2013. 12. 26. 14:06

 

앞선 포스팅에선 if문을 살펴봤었는데요. 이번에는 switch~case문을 살도록 하겠습니다. if문 같은 경우 위에서 아래로 쭉 비교하면서 프로그램이 실행이 되기 때문에 조건이 길어질수록 프로그램 속도가 많이 떨어진게 되는데요. switch~case구문은 특정 위치를 찾아가서 그 부분의 내용부를 실행하고 break부분에서 블럭(})을 빠져나오게 됩니다.

 

■ 간단한 예제를 만들어서 실행하면서 살펴보도록 하겠습니다.

 예제를 하나씩 살펴보면 먼저 switch의 값(a)과 case에서 비교되는 값으로는 byte, short, char, int 등...네가지의 자료형만 사용할 수 있습니다. 그리고 여러개를 비교할 수 있도록 위와같이 중첩되게 사용할 수 있고, 만약에 switch의 값이 동일한 값이 case에 없을때는 마지막에 있는 default구문이 실행이 되면서 프로그램이 끝나게 됩니다.

 

예제에서 0~5사이의 값을 입력하라고 했을때 7을 입력하니까  해당하는 경우가 없기 때문에 " default "를 실행하고 프로그램이 끝났습니다.

두번째의 경우 3을 입력하자  case:3 구문을 출력하고 프로그램이 종료 됐습니다. 

그리고 case구문은 중복할 수 있지만 마지막에 breaK로 끝나게 해야 합니다. 반드시 써야 하는건 아니고 필요에 따라서 뺄수도 있습니다.

 

 그렇다면 break를 모두 빼버리면 어떻게 될까요? 모두 빼버리고 프로그램을 실행시켜보겠습니다.

 

 모두 빼버리고 실행을 시켜봤습니다. 0을 입력하자 0부터 시작을 해서 모든 구문이 실행이 되네요. 다음으로 3을 입력했을때는 case3 부터 해서 그 뒤의 구문들이 실행이 됩니다. 즉, break는 원하는 부분만 실행하고 프로그램을 마치고 싶을때는 break를 넣어줘야 합니다. 이 뜻은 if문을 제외한 제일 가까운 블럭('}')을 빠져나가라는 의미입니다.

 

■ 다음으로 필요에 따라서 break를 사용하지 않는 경우를 살펴보도록 하겠습니다.

주민번호 뒷번호 첫자리가 무엇을 뜻하는지 아시죠? 남, 녀 성별을 구별하는 숫자 입니다.

1800년대 (남자 9, 여자 0),

1900년대 (남자 1, 여자 2)

2000년대 (남자 3, 여자 4)

 

■ 다음 예제를 살펴보도록 하겠습니다.  

 

위의 예제의 경우 코딩의 낭비입니다.

 

 

 ■ 아래 예제처럼 수정하고 9를 입력하면  break가 없기 때문에 0까지 실행을 하고 break가 되어 switch문을 빠져 나가게 됩니다. 1,2와 3,4도 마찬가지이구요.   

 

■ 위 내용들을 종합해서 예제 하나를 더 살펴보도록 하겠습니다.

 

저작자표시 비영리 변경금지 (새창열림)
Posted by 차케요

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

카테고리

NEW (900)
아이폰 개발 기초 (7)
취미 (16)
아두이노 (16)
[안드로이드] 어플만들기 (77)
안드로이드 기초 다지기 (61)
슈팅게임 만들기 (4)
[JAVA]자바 공부하기 (48)
C언어 알고리즘 (61)
[Unity3D]유니티3D 강좌 (7)
컴퓨터 (325)
포토샵CS2 강좌 (6)
유용한 프로그램 (244)
리눅스 노트정리 (22)
임베디드 리눅스 (11)
New블로그 (9)
음식의 효능 (4)
일반상식 (56)
HTML 공부 (40)
포토샵 공부 (36)
엑셀 (6)
파워포인트 공부 (19)
노트정리 (38)
일상 (33)
TV영화 (85)
방명록 : 관리자 : 글쓰기
차케요's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

다루두루

공부하면서 정리하는 노트같은 블로그입니다.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • NEW (900)
    • 아이폰 개발 기초 (7)
    • 취미 (16)
      • 아두이노 (16)
    • [안드로이드] 어플만들기 (77)
      • 안드로이드 기초 다지기 (61)
      • 슈팅게임 만들기 (4)
    • [JAVA]자바 공부하기 (48)
    • C언어 알고리즘 (61)
    • [Unity3D]유니티3D 강좌 (7)
    • 컴퓨터 (325)
      • 포토샵CS2 강좌 (6)
      • 유용한 프로그램 (244)
    • 리눅스 노트정리 (22)
      • 임베디드 리눅스 (11)
    • New블로그 (9)
    • 음식의 효능 (4)
    • 일반상식 (56)
    • HTML 공부 (40)
    • 포토샵 공부 (36)
    • 엑셀 (6)
    • 파워포인트 공부 (19)
    • 노트정리 (38)
    • 일상 (33)
    • TV영화 (85)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바