Search

반응형

'switch 문'에 해당되는 글 1건

  1. 2019.06.25 [Java_Tutorial]14강-자바 코딩, switch 제어문[Control Flow Statements, 자바 프로그래밍 기초 , 자바 튜토리얼]
반응형

[Oracle Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.]

[Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼]

2019/06/25 - [Software/Java] - [Java_Tutorial]13강-자바 코딩, if else 제어문[Control Flow Statements, 자바 프로그래밍 기초 , 자바 튜토리얼]

 

[Java_Tutorial]13강-자바 코딩, if else 제어문[Control Flow Statements, 자바 프로그래밍 기초 , 자바 튜토리얼]

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] [Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼] 2019/06/22 - [..

tiboy.tistory.com

이번 포스팅은 자바 프로그래밍(Java Programming)의 제어 흐름 구문에 대해 알아본다. 꼭 자바에서만 사용되는 건 아니다. 프로그래밍 언어라면 당연히 있는 문법이다. 반드시 꼭 알아야 하는 구문이므로 잘 이해해서 사용하길 바란다.

제어 흐름 구문(Control Flow Statements)

여러분들이 구현한 자바(Java) 소스는 일반적으로 작성한 순서대로 위에서 아래로 실행된다. 하지만 제어 흐름 구문을 사용하면 건너뛰기도 가능하고 반복적으로 순환도 되며 특정 위치로의 이동도 가능하다. 즉 프로그램을 구현하기 위해 필수 문법 중 하나이다. 자바에서 제어 흐름 구문의 종류는 조건문(if-then, if-then-else, switch), 반복문(for, while, do-while) 그리고 분기문(break, continue, return)가 있다. 그럼 하나씩 이해하고 예제를 통해 사용법을 익혀 본다.

switch 구문 (The switch Statement)

자바 튜토리얼(Java Tutorial)을 보면 switch문은 if-then 과 if-then-else 문과는 다르게 가능한 많은 실행 경로를 가질 수 있다고 되어 있다. 또한 switch문은 byte, short, char, int와 같은 원시 데이터 타입(primitive data types)으로 조건을 가질 수 있다. 또한 열거형 타입이나 String class, Character, Byte, Short 그리고 Integer 같은 특별한 클래스 타입도 가능하다. 반면 if 문은 boolean 또는 비교 연산자로 조건을 선정한다.

예제를 통해 확인해 보자

switch문의 조건은 char 형으로 정했다. cData 값이 아래 case와 일치하면 해당 구문을 실행하고 break; 를 통해 종료한다. 또한 일치하는 데이터가 없으면 default에서 처리해 주면 된다. 주의 사항은 반드시 break; 를 넣어줘야 한다. 그렇지 않으면 조건에 맞는 구문이 실행되면 그다음 case문의 조건이 안 맞아도 break; 문이 나올 때 까지 실행된다.

 

 

Switch 문은 여러 개의 case문과 default으로 구성할 수 있고 case문은 중괄호 { } 가 없어도 라벨(lable) 단위로 여러 구문을 사용하면 된다.

case ‘d’ : k= a + b;

rtn = k;

break;

‘d’와 일치하면 k = a + b; 를 실행하고 rtn = k; 를 실행한다. 블록을 만드는 중괄호가 { } 없어도 된다.

그럼 switch문과 if-then-else문의 차이점은 무엇인가? 우선 둘 다 자주 사용하는 구문은 맞다. 그래도 본인은 실전에서는 if-then-else 문을 더 많이 사용한다. 더 읽기 편하고 사용하기 편한 구문을 사용하면 된다. 본인 취향인 것이다. 특징을 보면 if-then-else 의 평가는 범위(비교 연산자)나 조건(Boolean)을 사용하는 반면 switch문은 원시 데이터 타입, 열거형 타입 또는 String 문자열을 이용한 테스트 표현식을 사용하는데 값의 일치를 기준으로 한다.

다음은 멀티 case문 사용법을 예제를 통해 사용해 본다.

멀티 case문과 case 문 내에서 if-then-else 문 사용하는 방법은 잘 확인해서 실전에서 잘 활용하길 바란다. 초창기 switch문은 int형만 가능했지만 이제는 다양한 데이터 타입을 사용할 수 있게 되었다.

String 타입은 어떻게 사용하는지 알아본다. String은 원시 데이터 타입이 아니다. 그래서 case 문에서 값을 비교할 때는 마치 String.equals 메서드처럼 사용된다.

case “apart” : System.out.println(“apart”);

마지막으로 주의할 점은 switch 문 값이 null 이 되지 않도록 주의해야 된다. 만약 null 이 된다면 NullPointerException 오류를 만나게 될 것이다.

 

반응형