"조건 (프로그래밍)"의 두 판 사이의 차이
2번째 줄: | 2번째 줄: | ||
==개요== | ==개요== | ||
− | 컴퓨터 과학에서 | + | 컴퓨터 과학에서 조건이란 프로그래머가 명시한 불린 자료형 조건이 참인지 거짓인지에 따라 달라지는 계산이나 상황을 수행하는 프로그래밍 언어의 특징이며 조건에 따라 둘 또는 그 이상의 실행 경로 중에서 하나를 선택할 수 있는 수단을 제공한다.<ref> 〈[https://ko.wikipedia.org/wiki/%EC%A1%B0%EA%B1%B4%EB%AC%B8 조건문]〉, 《위키백과》 </ref><ref> 〈[https://terms.naver.com/entry.naver?docId=2270408&ref=y&cid=51173&categoryId=51173 조건문]〉, 《네이버 지식백과》 </ref> |
==다중 프로그래밍== | ==다중 프로그래밍== | ||
다중 프로그램 처리에서의 요구 조건은 다음과 같다. | 다중 프로그램 처리에서의 요구 조건은 다음과 같다. | ||
− | *실행자, 감독, 통제자 등의 이름으로 불리는 감시 프로그램. | + | *[[실행자]], [[감독]], [[통제자]] 등의 이름으로 불리는 감시 프로그램. |
− | * | + | *[[인터럽트]] 처리 시스템. |
*한 프로그램 이 다른 프로그램을 파괴하는 것을 막기 위한 기억 장치 보호 능력. | *한 프로그램 이 다른 프로그램을 파괴하는 것을 막기 위한 기억 장치 보호 능력. | ||
− | *동일한 | + | *동일한 [[루틴]]이 기억 장치의 다른 위치에서 옮겨 수행되기 위한 동적인 프로그램 혹은 자료의 주소 변경. |
*직접 접근 기억 장치 또는 최소한 주변에 장치에 대한 편리한 주소 지정의 용이성. 여기서 수행되어야 할 사용자 프로그램은 단시간에 접근할 수 있는 보조 기억 장치(주로 디스크)에 기억되어 있다가 필요할 때 제어 프로그램에 의하여 주기억 장치에 적재되어 수행된다. 각 프로 램이 주기억 장치 내의 정해진 곳에 위치되면 그 프로그램 영역은 하드웨어 또는 소프트웨어에 의해 보호된다. 허용된 주소 이외의 주소에 대한 접근은 수행의 중단과 에러 메시지 발생을 일으킨다.<ref> 〈[https://terms.naver.com/entry.naver?docId=830193&cid=42344&categoryId=42344 다중 프로그래밍 요구 조건]〉, 《네이버 지식백과》 </ref> | *직접 접근 기억 장치 또는 최소한 주변에 장치에 대한 편리한 주소 지정의 용이성. 여기서 수행되어야 할 사용자 프로그램은 단시간에 접근할 수 있는 보조 기억 장치(주로 디스크)에 기억되어 있다가 필요할 때 제어 프로그램에 의하여 주기억 장치에 적재되어 수행된다. 각 프로 램이 주기억 장치 내의 정해진 곳에 위치되면 그 프로그램 영역은 하드웨어 또는 소프트웨어에 의해 보호된다. 허용된 주소 이외의 주소에 대한 접근은 수행의 중단과 에러 메시지 발생을 일으킨다.<ref> 〈[https://terms.naver.com/entry.naver?docId=830193&cid=42344&categoryId=42344 다중 프로그래밍 요구 조건]〉, 《네이버 지식백과》 </ref> | ||
+ | |||
+ | ==C언어== | ||
+ | 설정한 조건식에 따라서 실행될 코드 블록과 실행되지 않을 블록을 설정할 수 있다. 조건의 종류는 주로 if, if else, if else if, switch가 있다.<ref name="C언어"> 〈[https://dasima.xyz/c-condition/ C언어 조건문 if, switch 간단한 예제 모음]〉, 《다시마》 </ref> | ||
+ | |||
+ | ===if=== | ||
+ | 조건식이 참인 경우에만 사용하는 대표 조건이며 형태와 의미는 다음과 같고 예시도 나온다. | ||
+ | *형태 | ||
+ | if (조건) {A} | ||
+ | *의미 | ||
+ | (조건) = 참이면 {A} 실행, (조건) = 거짓이면 if문 탈출 | ||
+ | *예시1 | ||
+ | #include<stdio.h> | ||
+ | void main() { | ||
+ | int x = 1; | ||
+ | int y = 2; | ||
+ | |||
+ | if (x < y) | ||
+ | { | ||
+ | printf("x가 y보다 작습니다. \n"); //if문 내부 실행문 | ||
+ | } | ||
+ | |||
+ | printf("종료 \n"); //if문 외부 실행문 | ||
+ | |||
+ | } | ||
+ | 결과 | ||
+ | x가 y보다 작습니다. | ||
+ | 종료 | ||
+ | |||
+ | *예시2 | ||
+ | #include<stdio.h> | ||
+ | void main() { | ||
+ | int x = 3; | ||
+ | int y = 2; | ||
+ | |||
+ | if (x < y) | ||
+ | { | ||
+ | printf("x가 y보다 작습니다. \n"); //if문 내부 실행문 | ||
+ | } | ||
+ | |||
+ | printf("종료 \n"); //if문 외부 실행문 | ||
+ | |||
+ | } | ||
+ | 결과 | ||
+ | 종료<ref name="C언어"></ref> | ||
+ | |||
+ | ===if else=== | ||
+ | 2가지의 조건식을 쓸 때 가정이 참이면 참인 가정을 실행하고 아니면 거짓 가정을 실행하게 하는 것으로 사용하는 것으로 다음과 같다. | ||
+ | *형태 | ||
+ | if (조건) {A} else {B} | ||
+ | *의미 | ||
+ | (조건) = 참이면 {A} 실행, (조건) = 거짓이면 {B} 실행 | ||
+ | *예시1 | ||
+ | #include<stdio.h> | ||
+ | void main() { | ||
+ | int x = 1; | ||
+ | int y = 2; | ||
+ | |||
+ | if (x < y) | ||
+ | { | ||
+ | printf("x가 y보다 작습니다. \n"); //if문 내부 실행문 | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | printf("x가 더 크거나 같습니다. \n"); //else문 내부 실행문 | ||
+ | } | ||
+ | |||
+ | printf("종료 \n"); //if문, else문과 무관하게 실행 | ||
+ | |||
+ | } | ||
+ | 결과 | ||
+ | x가 y보다 작습니다. | ||
+ | 종료 | ||
+ | *예시 | ||
+ | #include<stdio.h> | ||
+ | void main() { | ||
+ | int x = 3; | ||
+ | int y = 2; | ||
+ | |||
+ | if (x < y) | ||
+ | { | ||
+ | printf("x가 y보다 작습니다. \n"); //if문 내부 실행문 | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | printf("x가 y보다 크거나 같습니다. \n"); //else문 내부 실행문 | ||
+ | } | ||
+ | |||
+ | printf("종료 \n"); //if문, else문과 무관하게 실행 | ||
+ | } | ||
+ | 결과 | ||
+ | x가 y보다 크거나 같습니다. | ||
+ | 종료<ref name="C언어"></ref> | ||
+ | |||
+ | ===if else if=== | ||
+ | 3가지 이상의 조건식일 때 사용한다. | ||
+ | *형식 | ||
+ | if (조건 a) {A} else if (조건 b) {B} else {C} | ||
+ | *의미 | ||
+ | (조건 a) = 참이면 {A} 실행, (조건 a) = 거짓 & (조건 b) = 참이면 {B} 실행, (조건 a) = 거짓 & (조건 b) = 거짓이면 {C} 실행 | ||
+ | #include | ||
+ | void main() { | ||
+ | int x = 1; | ||
+ | int y = 2; | ||
+ | |||
+ | if (x < y) | ||
+ | { | ||
+ | printf("x가 y보다 작습니다. \n"); //if(조건식)이 참이면, 실행 | ||
+ | } | ||
+ | else if (x == y) | ||
+ | { | ||
+ | printf("x가 y와 같습니다. \n"); //if(조건식)이 거짓, else if(조건식)이 참이면, 실행 | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | printf("x가 y보다 큽니다. \n"); //if(조건식)이 거짓, else if(조건식)이 거짓이면, 실행 | ||
+ | } | ||
+ | |||
+ | printf("종료 \n"); //조건문 밖의 코드는 조건과 무관하게 실행 | ||
+ | |||
+ | } | ||
+ | 결과 | ||
+ | x가 y보다 작습니다. | ||
+ | 종료<ref name="C언어"></ref> | ||
+ | |||
+ | ===switch=== | ||
+ | 여러 경우의 수를 선택할 때 사용하고 switch문은 case에 정수(int) 및 단일 문자(char) 자료형만 올 수 있다. 즉 case 뒤에는 변수명도 올 수 없다. | ||
+ | *형식 | ||
+ | switch (x) case (a) {A} default {C} | ||
+ | *의미 | ||
+ | x = a이면 {A} 실행, x != a이면, {C} 실행 | ||
+ | *예시1 | ||
+ | #include<stdio.h> | ||
+ | void main() { | ||
+ | int x = 1; | ||
+ | int y; | ||
+ | |||
+ | switch (x) | ||
+ | { | ||
+ | case 0 : //x = 0 일 때 실행 | ||
+ | { | ||
+ | y = 33; //y = 33 대입 | ||
+ | printf("y값은 %d \n", y); //y값 출력 | ||
+ | } | ||
+ | break; //switch문 밖으로 탈출 | ||
+ | |||
+ | case 1 : //x != 0 이고, x = 1 일 때 실행 | ||
+ | { | ||
+ | y = 44; //y = 44 대입 | ||
+ | printf("y값은 %d \n", y); //y값 출력 | ||
+ | } | ||
+ | break; //switch문 밖으로 탈출 | ||
+ | |||
+ | default : //x != 0 이고, x != 1 일 때, 실행 | ||
+ | { | ||
+ | y = 99; // y = 99 대입 | ||
+ | printf("y값은 %d \n", y); //y값 출력 | ||
+ | } | ||
+ | } | ||
+ | |||
+ | printf ("종료"); //switch문 밖의 외부 코드는 switch문과 무관하게 실행 | ||
+ | } | ||
+ | 결과 | ||
+ | y값은 44 | ||
+ | 종료 | ||
+ | *예시2 | ||
+ | #include<stdio.h> | ||
+ | void main() { | ||
+ | int x = 99; | ||
+ | int y; | ||
+ | |||
+ | switch (x) | ||
+ | { | ||
+ | case 0 : //x = 0 일 때 실행 | ||
+ | { | ||
+ | y = 33; //y = 33 대입 | ||
+ | printf("y값은 %d \n", y); //y값 출력 | ||
+ | } | ||
+ | break; //switch문 밖으로 탈출 | ||
+ | |||
+ | case 1 : //x != 0 이고, x = 1 일 때 실행 | ||
+ | { | ||
+ | y = 44; //y = 44 대입 | ||
+ | printf("y값은 %d \n", y); //y값 출력 | ||
+ | } | ||
+ | break; //switch문 밖으로 탈출 | ||
+ | |||
+ | default : //x != 0 이고, x != 1 일 때, 실행 | ||
+ | { | ||
+ | y = 99; // y = 99 대입 | ||
+ | printf("y값은 %d \n", y); //y값 출력 | ||
+ | } | ||
+ | } | ||
+ | |||
+ | printf ("종료"); //switch문 밖의 외부 코드는 switch문과 무관하게 실행 | ||
+ | } | ||
+ | 결과 | ||
+ | y값은 99 | ||
+ | 종료<ref name="C언어"></ref> | ||
+ | |||
+ | ==자바== | ||
+ | 자바도 C언어처럼 형태는 비슷하며 종류는 if, if else, if else if이다.<ref name="자바"> Hyun-Taek Hong, 〈[https://hyuntaekhong.github.io/blog/java-basic02/ (Java 02) 자바 조건문 (if문, else문, if-else문)]〉, 《깃허브》, 2020-08-16 </ref> | ||
+ | |||
+ | ===if=== | ||
+ | 조건식이 true이면 블록을 실행하고 false이면 실행하지 않는 조건을 통해 프로그램을 제어한다. | ||
+ | *예시 | ||
+ | public class practice { | ||
+ | public static void main(String[] args) { | ||
+ | int score = 85; | ||
+ | |||
+ | if (score >= 90) { //score = 85이므로 score >= 90 조건은 false | ||
+ | System.out.println("점수가 90보다 큽니다."); | ||
+ | System.out.println("등급은 A 입니다."); | ||
+ | } | ||
+ | if (score < 90) { //score = 85이므로 score < 90 조건은 true | ||
+ | System.out.println("점수가 90보다 작습니다."); | ||
+ | System.out.println("등급은 B 입니다."); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | 실행 결과 | ||
+ | 점수가 90보다 작습니다. | ||
+ | 등급은 B 입니다.<ref name="자바"></ref> | ||
+ | |||
+ | ===if else=== | ||
+ | if문의 조건식이 true이면 if문의 블록이 실행되고, 조건식이 false이면 else 블록이 실행된다. | ||
+ | *예시 | ||
+ | public class practice { | ||
+ | public static void main(String[] args) { | ||
+ | int score = 85; | ||
+ | |||
+ | if (score >= 90) { | ||
+ | System.out.println("점수가 90보다 큽니다."); | ||
+ | System.out.println("등급은 A 입니다."); | ||
+ | } else { // score<90일 경우 | ||
+ | System.out.println("점수가 90보다 작습니다."); | ||
+ | System.out.println("등급은 B 입니다."); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | 실행 결과 | ||
+ | 점수가 90보다 작습니다. | ||
+ | 등급은 B 입니다.<ref name="자바"></ref> | ||
+ | |||
+ | ===if - else if - else=== | ||
+ | 여러 개의 조건식을 사용해야 하는 경우 if-else를 활용하여 false인 조건식들은 건너뛰고 true가 되는 블록만 실행한다. | ||
+ | *예시 | ||
+ | public class practice { | ||
+ | public static void main(String[] args) { | ||
+ | int score = 83; | ||
+ | |||
+ | if (score >= 90) { | ||
+ | System.out.println("점수가 100-90 입니다."); | ||
+ | System.out.println("등급은 A 입니다."); | ||
+ | } | ||
+ | else if (score >= 80) { // 80 <= score <90 | ||
+ | System.out.println("점수가 80-89 입니다."); | ||
+ | System.out.println("등급은 B 입니다."); | ||
+ | } | ||
+ | else if (score >= 70) { // 70 <= score <80 | ||
+ | System.out.println("점수가 70-79 입니다."); | ||
+ | System.out.println("등급은 C 입니다."); | ||
+ | } else { // 60 <= score <70 | ||
+ | System.out.println("점수가 60-69 입니다."); | ||
+ | System.out.println("등급은 D 입니다."); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | 실행 결과 | ||
+ | 점수가 80-90 입니다. | ||
+ | 등급은 B 입니다.<ref name="자바"></ref> | ||
+ | |||
+ | ==파이썬== | ||
+ | 파이썬은 C, 자바와 다른 형태의 조건들이 나오며 대표로는 if, elif등이 있다. 비록 형태는 조금 다르지만 구동하는 방식은 거의 비슷하다. | ||
+ | |||
+ | ===if=== | ||
+ | C와 자바같이 작용한다. | ||
+ | *예시1 | ||
+ | >>> money = True | ||
+ | >>> if money: | ||
+ | ... print("택시를 타고 가라") | ||
+ | ... else: | ||
+ | ... print("걸어 가라") | ||
+ | ... | ||
+ | 택시를 타고 가라<ref name="파이썬"> 〈[https://wikidocs.net/20 점프 투 파이썬]〉, 《위키독스》 </ref> | ||
+ | *예사2 | ||
+ | >>> money = 2000 | ||
+ | >>> if money >= 3000: | ||
+ | ... print("택시를 타고 가라") | ||
+ | ... else: | ||
+ | ... print("걸어가라") | ||
+ | ... | ||
+ | 걸어가라 | ||
+ | |||
+ | ===elif=== | ||
+ | if와 else만으로는 다양한 조건을 판단하기 어려울 때 사용하는 것이며 다음과 같다. | ||
+ | *예시 | ||
+ | >>> pocket = ['paper', 'cellphone'] | ||
+ | >>> card = True | ||
+ | >>> if 'money' in pocket: | ||
+ | ... print("택시를 타고가라") | ||
+ | ... elif card: | ||
+ | ... print("택시를 타고가라") | ||
+ | ... else: | ||
+ | ... print("걸어가라") | ||
+ | ... | ||
+ | 택시를 타고가라<ref name="파이썬"></ref> | ||
{{각주}} | {{각주}} | ||
18번째 줄: | 324번째 줄: | ||
* 〈[https://terms.naver.com/entry.naver?docId=2270408&ref=y&cid=51173&categoryId=51173 조건문]〉, 《네이버 지식백과》 | * 〈[https://terms.naver.com/entry.naver?docId=2270408&ref=y&cid=51173&categoryId=51173 조건문]〉, 《네이버 지식백과》 | ||
* 〈[https://terms.naver.com/entry.naver?docId=830193&cid=42344&categoryId=42344 다중 프로그래밍 요구 조건]〉, 《네이버 지식백과》 | * 〈[https://terms.naver.com/entry.naver?docId=830193&cid=42344&categoryId=42344 다중 프로그래밍 요구 조건]〉, 《네이버 지식백과》 | ||
+ | * 〈[https://dasima.xyz/c-condition/ C언어 조건문 if, switch 간단한 예제 모음]〉, 《다시마》 | ||
+ | * Hyun-Taek Hong, 〈[https://hyuntaekhong.github.io/blog/java-basic02/ (Java 02) 자바 조건문 (if문, else문, if-else문)]〉, 《깃허브》, 2020-08-16 | ||
+ | * 〈[https://wikidocs.net/20 점프 투 파이썬]〉, 《위키독스》 | ||
==같이보기== | ==같이보기== |
2021년 8월 27일 (금) 15:55 판
조건이란 참인지 거짓인지 판단하고 과정이 맞으면 그것에 맞게 행동하는 것이다.
목차
개요
컴퓨터 과학에서 조건이란 프로그래머가 명시한 불린 자료형 조건이 참인지 거짓인지에 따라 달라지는 계산이나 상황을 수행하는 프로그래밍 언어의 특징이며 조건에 따라 둘 또는 그 이상의 실행 경로 중에서 하나를 선택할 수 있는 수단을 제공한다.[1][2]
다중 프로그래밍
다중 프로그램 처리에서의 요구 조건은 다음과 같다.
- 실행자, 감독, 통제자 등의 이름으로 불리는 감시 프로그램.
- 인터럽트 처리 시스템.
- 한 프로그램 이 다른 프로그램을 파괴하는 것을 막기 위한 기억 장치 보호 능력.
- 동일한 루틴이 기억 장치의 다른 위치에서 옮겨 수행되기 위한 동적인 프로그램 혹은 자료의 주소 변경.
- 직접 접근 기억 장치 또는 최소한 주변에 장치에 대한 편리한 주소 지정의 용이성. 여기서 수행되어야 할 사용자 프로그램은 단시간에 접근할 수 있는 보조 기억 장치(주로 디스크)에 기억되어 있다가 필요할 때 제어 프로그램에 의하여 주기억 장치에 적재되어 수행된다. 각 프로 램이 주기억 장치 내의 정해진 곳에 위치되면 그 프로그램 영역은 하드웨어 또는 소프트웨어에 의해 보호된다. 허용된 주소 이외의 주소에 대한 접근은 수행의 중단과 에러 메시지 발생을 일으킨다.[3]
C언어
설정한 조건식에 따라서 실행될 코드 블록과 실행되지 않을 블록을 설정할 수 있다. 조건의 종류는 주로 if, if else, if else if, switch가 있다.[4]
if
조건식이 참인 경우에만 사용하는 대표 조건이며 형태와 의미는 다음과 같고 예시도 나온다.
- 형태
if (조건) {A}
- 의미
(조건) = 참이면 {A} 실행, (조건) = 거짓이면 if문 탈출
- 예시1
#include<stdio.h> void main() { int x = 1; int y = 2; if (x < y) { printf("x가 y보다 작습니다. \n"); //if문 내부 실행문 } printf("종료 \n"); //if문 외부 실행문 } 결과 x가 y보다 작습니다. 종료
- 예시2
#include<stdio.h> void main() { int x = 3; int y = 2; if (x < y) { printf("x가 y보다 작습니다. \n"); //if문 내부 실행문 } printf("종료 \n"); //if문 외부 실행문 } 결과 종료[4]
if else
2가지의 조건식을 쓸 때 가정이 참이면 참인 가정을 실행하고 아니면 거짓 가정을 실행하게 하는 것으로 사용하는 것으로 다음과 같다.
- 형태
if (조건) {A} else {B}
- 의미
(조건) = 참이면 {A} 실행, (조건) = 거짓이면 {B} 실행
- 예시1
#include<stdio.h> void main() { int x = 1; int y = 2; if (x < y) { printf("x가 y보다 작습니다. \n"); //if문 내부 실행문 } else { printf("x가 더 크거나 같습니다. \n"); //else문 내부 실행문 } printf("종료 \n"); //if문, else문과 무관하게 실행 } 결과 x가 y보다 작습니다. 종료
- 예시
#include<stdio.h> void main() { int x = 3; int y = 2; if (x < y) { printf("x가 y보다 작습니다. \n"); //if문 내부 실행문 } else { printf("x가 y보다 크거나 같습니다. \n"); //else문 내부 실행문 } printf("종료 \n"); //if문, else문과 무관하게 실행 } 결과 x가 y보다 크거나 같습니다. 종료[4]
if else if
3가지 이상의 조건식일 때 사용한다.
- 형식
if (조건 a) {A} else if (조건 b) {B} else {C}
- 의미
(조건 a) = 참이면 {A} 실행, (조건 a) = 거짓 & (조건 b) = 참이면 {B} 실행, (조건 a) = 거짓 & (조건 b) = 거짓이면 {C} 실행 #include void main() { int x = 1; int y = 2; if (x < y) { printf("x가 y보다 작습니다. \n"); //if(조건식)이 참이면, 실행 } else if (x == y) { printf("x가 y와 같습니다. \n"); //if(조건식)이 거짓, else if(조건식)이 참이면, 실행 } else { printf("x가 y보다 큽니다. \n"); //if(조건식)이 거짓, else if(조건식)이 거짓이면, 실행 } printf("종료 \n"); //조건문 밖의 코드는 조건과 무관하게 실행 } 결과 x가 y보다 작습니다. 종료[4]
switch
여러 경우의 수를 선택할 때 사용하고 switch문은 case에 정수(int) 및 단일 문자(char) 자료형만 올 수 있다. 즉 case 뒤에는 변수명도 올 수 없다.
- 형식
switch (x) case (a) {A} default {C}
- 의미
x = a이면 {A} 실행, x != a이면, {C} 실행
- 예시1
#include<stdio.h> void main() { int x = 1; int y; switch (x) { case 0 : //x = 0 일 때 실행 { y = 33; //y = 33 대입 printf("y값은 %d \n", y); //y값 출력 } break; //switch문 밖으로 탈출 case 1 : //x != 0 이고, x = 1 일 때 실행 { y = 44; //y = 44 대입 printf("y값은 %d \n", y); //y값 출력 } break; //switch문 밖으로 탈출 default : //x != 0 이고, x != 1 일 때, 실행 { y = 99; // y = 99 대입 printf("y값은 %d \n", y); //y값 출력 } } printf ("종료"); //switch문 밖의 외부 코드는 switch문과 무관하게 실행 } 결과 y값은 44 종료
- 예시2
#include<stdio.h> void main() { int x = 99; int y; switch (x) { case 0 : //x = 0 일 때 실행 { y = 33; //y = 33 대입 printf("y값은 %d \n", y); //y값 출력 } break; //switch문 밖으로 탈출 case 1 : //x != 0 이고, x = 1 일 때 실행 { y = 44; //y = 44 대입 printf("y값은 %d \n", y); //y값 출력 } break; //switch문 밖으로 탈출 default : //x != 0 이고, x != 1 일 때, 실행 { y = 99; // y = 99 대입 printf("y값은 %d \n", y); //y값 출력 } } printf ("종료"); //switch문 밖의 외부 코드는 switch문과 무관하게 실행 } 결과 y값은 99 종료[4]
자바
자바도 C언어처럼 형태는 비슷하며 종류는 if, if else, if else if이다.[5]
if
조건식이 true이면 블록을 실행하고 false이면 실행하지 않는 조건을 통해 프로그램을 제어한다.
- 예시
public class practice { public static void main(String[] args) { int score = 85; if (score >= 90) { //score = 85이므로 score >= 90 조건은 false System.out.println("점수가 90보다 큽니다."); System.out.println("등급은 A 입니다."); } if (score < 90) { //score = 85이므로 score < 90 조건은 true System.out.println("점수가 90보다 작습니다."); System.out.println("등급은 B 입니다."); } } } 실행 결과 점수가 90보다 작습니다. 등급은 B 입니다.[5]
if else
if문의 조건식이 true이면 if문의 블록이 실행되고, 조건식이 false이면 else 블록이 실행된다.
- 예시
public class practice { public static void main(String[] args) { int score = 85; if (score >= 90) { System.out.println("점수가 90보다 큽니다."); System.out.println("등급은 A 입니다."); } else { // score<90일 경우 System.out.println("점수가 90보다 작습니다."); System.out.println("등급은 B 입니다."); } } } 실행 결과 점수가 90보다 작습니다. 등급은 B 입니다.[5]
if - else if - else
여러 개의 조건식을 사용해야 하는 경우 if-else를 활용하여 false인 조건식들은 건너뛰고 true가 되는 블록만 실행한다.
- 예시
public class practice { public static void main(String[] args) { int score = 83; if (score >= 90) { System.out.println("점수가 100-90 입니다."); System.out.println("등급은 A 입니다."); } else if (score >= 80) { // 80 <= score <90 System.out.println("점수가 80-89 입니다."); System.out.println("등급은 B 입니다."); } else if (score >= 70) { // 70 <= score <80 System.out.println("점수가 70-79 입니다."); System.out.println("등급은 C 입니다."); } else { // 60 <= score <70 System.out.println("점수가 60-69 입니다."); System.out.println("등급은 D 입니다."); } } } 실행 결과 점수가 80-90 입니다. 등급은 B 입니다.[5]
파이썬
파이썬은 C, 자바와 다른 형태의 조건들이 나오며 대표로는 if, elif등이 있다. 비록 형태는 조금 다르지만 구동하는 방식은 거의 비슷하다.
if
C와 자바같이 작용한다.
- 예시1
>>> money = True >>> if money: ... print("택시를 타고 가라") ... else: ... print("걸어 가라") ... 택시를 타고 가라[6]
- 예사2
>>> money = 2000 >>> if money >= 3000: ... print("택시를 타고 가라") ... else: ... print("걸어가라") ... 걸어가라
elif
if와 else만으로는 다양한 조건을 판단하기 어려울 때 사용하는 것이며 다음과 같다.
- 예시
>>> pocket = ['paper', 'cellphone'] >>> card = True >>> if 'money' in pocket: ... print("택시를 타고가라") ... elif card: ... print("택시를 타고가라") ... else: ... print("걸어가라") ... 택시를 타고가라[6]
각주
참고자료
- 〈조건문〉, 《위키백과》
- 〈조건문〉, 《네이버 지식백과》
- 〈다중 프로그래밍 요구 조건〉, 《네이버 지식백과》
- 〈C언어 조건문 if, switch 간단한 예제 모음〉, 《다시마》
- Hyun-Taek Hong, 〈(Java 02) 자바 조건문 (if문, else문, if-else문)〉, 《깃허브》, 2020-08-16
- 〈점프 투 파이썬〉, 《위키독스》