"조건문"의 두 판 사이의 차이
잔글 (→같이 보기) |
|||
(사용자 2명의 중간 판 6개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''조건문'''(條件文)은 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 | + | '''조건문'''(條件文)은 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 [[명령문]]이다. 대표적인 조건문의 형태로는 크게 2가지로 나눌 수 있는데 if문과 switch문이다.<ref name="조건문">〈[http://tcpschool.com/java/java_control_condition 조건문]〉, 《조건문》, 2015-07-08</ref> 여기서 if문은 다시 if else문과 else if문으로 구분할 수 있다.<ref name="자바 조건문">〈[http://blog.naver.com/PostView.nhn?blogId=heartflow89&logNo=220947423870&parentCategoryNo=&categoryNo=145&viewDate=&isShowPopularPosts=true&from=search 조건문]〉, 《[JAVA/자바] 조건문》, 2017-03-02</ref> |
− | <ref>〈[http://tcpschool.com/java/java_control_condition 조건문]〉, 《조건문》, 2015-07-08</ref> | ||
− | 여기서 if문은 다시 if else문과 else if문으로 구분할 수 있다. | ||
− | <ref>〈[http://blog.naver.com/PostView.nhn?blogId=heartflow89&logNo=220947423870&parentCategoryNo=&categoryNo=145&viewDate=&isShowPopularPosts=true&from=search 조건문]〉, 《[JAVA/자바]조건문》, 2017-03-02</ref> | ||
− | |||
==개요== | ==개요== | ||
− | 조건문이란 프로그래머가 명시한 불린 자료형 조건이 참인지 거짓인지에 따라 달라지는 계산이나 상황을 수행하는 프로그래밍 언어의 특징이다. | + | 조건문이란 프로그래머가 명시한 불린 자료형 조건이 참인지 거짓인지에 따라 달라지는 계산이나 상황을 수행하는 프로그래밍 언어의 특징이다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%A1%B0%EA%B1%B4%EB%AC%B8 조건문 개요]〉, 《조건문 개요》, 2015-07-08</ref> 예를 들어 로그인 창에 올바른 ID와 PW를 입력했을 때와 그렇지 못했을 때 다르게 동작하는 것을 들 수 있다. 즉, 입력된 값에 따라서 정해진 방향으로 동작하도록 할 수 있다.<ref name="자바 조건문"/> 조건문에 들어가는 조건식의 경우 비교 연산식이거나 논리 연산자와 혼합된 식으로 구성되며 결과는 boolean 값이다.<ref name="java 조건문">〈[https://m.blog.naver.com/PostView.nhn?blogId=kimkwon429&logNo=220742984285&proxyReferer=https:%2F%2Fwww.google.com%2F java 조건문]〉, 《13-1.java 조건문》, 2016-06-22</ref> |
− | <ref>〈[https://ko.wikipedia.org/wiki/%EC%A1%B0%EA%B1%B4%EB%AC%B8 조건문 개요]〉, 《조건문 개요》, 2015-07-08</ref> | ||
− | 예를 들어 로그인 창에 올바른 ID와 PW를 입력했을 때와 그렇지 못했을 때 다르게 동작하는 것을 들 수 있다. 즉, | ||
− | |||
− | |||
− | == | ||
==특징== | ==특징== | ||
===구성=== | ===구성=== | ||
====if문==== | ====if문==== | ||
+ | if문은 조건식의 결과가(true)이면 주어진 명령문을 실행하며, 거짓(false)이면 아무것도 실행하지 않는다. | ||
+ | <ref name="조건문"/> | ||
+ | if문의 경우 조건식이 논리 타입 변수 하나만으로 구성이 가능하다. | ||
+ | <ref name="java 조건문"/> | ||
+ | |||
+ | if(조건식){ | ||
+ | 조건식의 결과가 참일 때 실행하고자 하는 명령문; | ||
+ | } | ||
[[파일:if문예시.png|500픽셀|섬네일|가운데|if문 순서도]] | [[파일:if문예시.png|500픽셀|섬네일|가운데|if문 순서도]] | ||
− | ====if else문==== | + | |
+ | ====if-else문==== | ||
+ | if-else문은 if문과는 반대로 주어진 조건식의 결과가 거짓(false)이면 주어진 명령문을 실행한다. | ||
+ | <ref name="조건문"/> | ||
+ | if를 두 개 쓰면 연산을 두 번 해야하지만, else를 쓰면 연산을 한 번만 해도 되므로 더 효율적이고 간단하다. 단, else를 생략하는 경우에는 아무것도 수행되지 않을 수 있다. | ||
+ | <ref>〈[https://gptjs409.github.io/java/2019/08/11/if-switch.html if-else문]〉, 《[Java]조건문-if/switch》, 2019-08-11</ref> | ||
+ | |||
+ | if(조건식){ | ||
+ | 조건식의 결과가 참일 때 실행하고자 하는 명령문; | ||
+ | } else{ | ||
+ | 조건식의 결과가 거짓일 때 실행하고자 하는 명령문; | ||
+ | } | ||
[[파일:if_else문예시.png|500픽셀|섬네일|가운데|if-else문 순서도]] | [[파일:if_else문예시.png|500픽셀|섬네일|가운데|if-else문 순서도]] | ||
− | ====else if문==== | + | |
+ | ====else-if문==== | ||
+ | else-if문은 새로운 구문처럼 보이지만, 두 개의 if/else 문이 연달아 나온 것일 뿐이다. 이러한 else-if문은 조건식을 여러 개 명시할 수 있으므로 중첩된 if문을 좀 더 간결하게 표현할 수 있다. | ||
+ | <ref name="조건문"/> | ||
+ | |||
+ | if(조건식1){ | ||
+ | 조건식1의 결과가 참일 때 실행하고자 하는 명령문; | ||
+ | } else if(조건식2){ | ||
+ | 조건식2의 결과가 참일 때 실행하고자 하는 명령문; | ||
+ | } else{ | ||
+ | 조건식1의 결과도 거짓이고, 2의 결과도 거짓일 때 실행하고자 하는 명령문; | ||
+ | } // 마지막은 보통 else로 끝나지만, else조건이 필요 없으면 생략 가능 | ||
[[파일:else_if문예시.png|500픽셀|섬네일|가운데|else-if문 순서도]] | [[파일:else_if문예시.png|500픽셀|섬네일|가운데|else-if문 순서도]] | ||
+ | |||
====switch문==== | ====switch문==== | ||
+ | switch문은 if-else문과 마찬가지로 주어진 조건 값의 결과에 따라 프로그램이 다른 명령을 수행하도록 하는 조건문이다. | ||
+ | if-else문보다 가독성이 더 좋으며, 컴파일러가 최적화를 쉽게 할 수 있어 속도도 빠른편이다. | ||
+ | 단, switch문의 조건 값으로는 int형으로 승격할 수 있는 값만이 사용될 수 있다. | ||
+ | 즉, byte형, short형, char형, int형의 변수나 리터럴을 사용할 수 있다. | ||
+ | 또한, 이러한 기본 타입에 해당하는 데이터를 객체로 포장해 주는 래퍼 클래스(Wrapper class)중에서 위에 해당하는 클래스의 객체도 사용할 수 있다. | ||
+ | 따라서 if-else보다 좋지만 사용할 수 있는 상황이 적다. | ||
+ | default절은 조건 값이 위에 나열된 어떠한 case절에도 해당하지 않을 때만 실행된다. 이 절은 반드시 본재해야 하는 것은 아니며 필요할 때만 선언할 수 있다. | ||
+ | <ref name="조건문"/> | ||
+ | |||
+ | switch (조건 값){ | ||
+ | case 값1: | ||
+ | 조건 값이 값1일 때 실행하고자 하는 명령문; | ||
+ | break; | ||
+ | case 값2: | ||
+ | 조건 값이 값2일 때 실행하고자 하는 명령문; | ||
+ | break; | ||
+ | ... | ||
+ | default: | ||
+ | 조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문; | ||
+ | break; | ||
+ | } | ||
[[파일:switch예시.png|500픽셀|섬네일|가운데|switch문 순서도]] | [[파일:switch예시.png|500픽셀|섬네일|가운데|switch문 순서도]] | ||
+ | |||
{{각주}} | {{각주}} | ||
==참고자료== | ==참고자료== | ||
− | *조건문〈[http://tcpschool.com/java/java_control_condition 조건문]〉, 2015-07-08《TcpSchool》 | + | * 조건문〈[http://tcpschool.com/java/java_control_condition 조건문]〉, 2015-07-08《TcpSchool》 |
+ | * [JAVA/자바] 조건문, 〈[http://blog.naver.com/PostView.nhn?blogId=heartflow89&logNo=220947423870&parentCategoryNo=&categoryNo=145&viewDate=&isShowPopularPosts=true&from=search 조건문]〉, 2017-03-02《Naver Blog-JOKER's ROOM》 | ||
+ | * 조건문〈[https://ko.wikipedia.org/wiki/%EC%A1%B0%EA%B1%B4%EB%AC%B8 조건문]〉,《나무위키》 | ||
+ | * 13-1.java 조건문(if문,if else문, 중첩 if문, switch문)〈[https://m.blog.naver.com/PostView.nhn?blogId=kimkwon429&logNo=220742984285&proxyReferer=https:%2F%2Fwww.google.com%2F java 조건문]〉, | ||
+ | 2016-06-22《Naver Blog - java》 | ||
+ | * [Java]조건문-if/switch〈[https://gptjs409.github.io/java/2019/08/11/if-switch.html if-else문]〉,2019-08-11《Github-Choi Hyesun》 | ||
==같이 보기== | ==같이 보기== | ||
+ | * [[조건]] | ||
+ | * [[if]] | ||
+ | * [[else]] | ||
+ | * [[자바]] | ||
+ | * [[반복문]] | ||
+ | |||
{{프로그래밍|검토 필요}} | {{프로그래밍|검토 필요}} |
2021년 8월 28일 (토) 00:10 기준 최신판
조건문(條件文)은 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문이다. 대표적인 조건문의 형태로는 크게 2가지로 나눌 수 있는데 if문과 switch문이다.[1] 여기서 if문은 다시 if else문과 else if문으로 구분할 수 있다.[2]
개요[편집]
조건문이란 프로그래머가 명시한 불린 자료형 조건이 참인지 거짓인지에 따라 달라지는 계산이나 상황을 수행하는 프로그래밍 언어의 특징이다.[3] 예를 들어 로그인 창에 올바른 ID와 PW를 입력했을 때와 그렇지 못했을 때 다르게 동작하는 것을 들 수 있다. 즉, 입력된 값에 따라서 정해진 방향으로 동작하도록 할 수 있다.[2] 조건문에 들어가는 조건식의 경우 비교 연산식이거나 논리 연산자와 혼합된 식으로 구성되며 결과는 boolean 값이다.[4]
특징[편집]
구성[편집]
if문[편집]
if문은 조건식의 결과가(true)이면 주어진 명령문을 실행하며, 거짓(false)이면 아무것도 실행하지 않는다. [1] if문의 경우 조건식이 논리 타입 변수 하나만으로 구성이 가능하다. [4]
if(조건식){ 조건식의 결과가 참일 때 실행하고자 하는 명령문; }
if-else문[편집]
if-else문은 if문과는 반대로 주어진 조건식의 결과가 거짓(false)이면 주어진 명령문을 실행한다. [1] if를 두 개 쓰면 연산을 두 번 해야하지만, else를 쓰면 연산을 한 번만 해도 되므로 더 효율적이고 간단하다. 단, else를 생략하는 경우에는 아무것도 수행되지 않을 수 있다. [5]
if(조건식){ 조건식의 결과가 참일 때 실행하고자 하는 명령문; } else{ 조건식의 결과가 거짓일 때 실행하고자 하는 명령문; }
else-if문[편집]
else-if문은 새로운 구문처럼 보이지만, 두 개의 if/else 문이 연달아 나온 것일 뿐이다. 이러한 else-if문은 조건식을 여러 개 명시할 수 있으므로 중첩된 if문을 좀 더 간결하게 표현할 수 있다. [1]
if(조건식1){ 조건식1의 결과가 참일 때 실행하고자 하는 명령문; } else if(조건식2){ 조건식2의 결과가 참일 때 실행하고자 하는 명령문; } else{ 조건식1의 결과도 거짓이고, 2의 결과도 거짓일 때 실행하고자 하는 명령문; } // 마지막은 보통 else로 끝나지만, else조건이 필요 없으면 생략 가능
switch문[편집]
switch문은 if-else문과 마찬가지로 주어진 조건 값의 결과에 따라 프로그램이 다른 명령을 수행하도록 하는 조건문이다. if-else문보다 가독성이 더 좋으며, 컴파일러가 최적화를 쉽게 할 수 있어 속도도 빠른편이다. 단, switch문의 조건 값으로는 int형으로 승격할 수 있는 값만이 사용될 수 있다. 즉, byte형, short형, char형, int형의 변수나 리터럴을 사용할 수 있다. 또한, 이러한 기본 타입에 해당하는 데이터를 객체로 포장해 주는 래퍼 클래스(Wrapper class)중에서 위에 해당하는 클래스의 객체도 사용할 수 있다. 따라서 if-else보다 좋지만 사용할 수 있는 상황이 적다. default절은 조건 값이 위에 나열된 어떠한 case절에도 해당하지 않을 때만 실행된다. 이 절은 반드시 본재해야 하는 것은 아니며 필요할 때만 선언할 수 있다. [1]
switch (조건 값){ case 값1: 조건 값이 값1일 때 실행하고자 하는 명령문; break; case 값2: 조건 값이 값2일 때 실행하고자 하는 명령문; break; ... default: 조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문; break; }
각주[편집]
참고자료[편집]
- 조건문〈조건문〉, 2015-07-08《TcpSchool》
- [JAVA/자바] 조건문, 〈조건문〉, 2017-03-02《Naver Blog-JOKER's ROOM》
- 조건문〈조건문〉,《나무위키》
- 13-1.java 조건문(if문,if else문, 중첩 if문, switch문)〈java 조건문〉,
2016-06-22《Naver Blog - java》
- [Java]조건문-if/switch〈if-else문〉,2019-08-11《Github-Choi Hyesun》
같이 보기[편집]